Skip to content

Commit

Permalink
Split E2E testing from CI workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
adamyeats committed Mar 19, 2024
1 parent 5f32592 commit 7cfe8d4
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 56 deletions.
57 changes: 1 addition & 56 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,59 +72,4 @@ jobs:
retention-days: 1

timeout-minutes: 60
e2e:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'yarn'

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Install Playwright Browsers
run: yarn playwright install --with-deps

- name: Download plugin-dist artifact
uses: actions/download-artifact@v4
with:
name: plugin-dist
path: dist/

# actions/download-artifact@v4 does not keep executable permissions
# intact, so we need to restore them manually.
- name: Restore executable permissions
run: |
TARGET_DIR="dist/"
if [ -d "$TARGET_DIR" ]; then
for file in ${TARGET_DIR}gpx_*; do
if [ -f "$file" ] && [ ! -x "$file" ]; then
echo "Setting executable permission for $file"
chmod +x "$file"
fi
done
else
echo "Directory $TARGET_DIR does not exist."
fi
- name: Install and run Docker Compose
uses: isbang/compose-action@v1.5.1
with:
compose-file: './docker-compose.yaml'

- name: Run Playwright tests
run: yarn playwright test

- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30

timeout-minutes: 60

68 changes: 68 additions & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: E2E Tests

on:
workflow_run:
workflows: [CI]
types:
- completed

jobs:
e2e:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'yarn'

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Install Playwright Browsers
run: yarn playwright install --with-deps

- name: Download plugin-dist artifact
uses: actions/download-artifact@v4
with:
name: plugin-dist
path: dist/
github-token: ${{ secrets.GH_PAT }}
repository: ${{ env.GITHUB_REPOSITORY }}
run-id: ${{ github.event.workflow_run.id }}

# actions/download-artifact@v4 does not keep executable permissions
# intact, so we need to restore them manually.
- name: Restore executable permissions
run: |
TARGET_DIR="dist/"
if [ -d "$TARGET_DIR" ]; then
for file in ${TARGET_DIR}gpx_*; do
if [ -f "$file" ] && [ ! -x "$file" ]; then
echo "Setting executable permission for $file"
chmod +x "$file"
fi
done
else
echo "Directory $TARGET_DIR does not exist."
fi
- name: Install and run Docker Compose
uses: isbang/compose-action@v1.5.1
with:
compose-file: './docker-compose.yaml'

- name: Run Playwright tests
run: yarn playwright test

- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30

timeout-minutes: 60

0 comments on commit 7cfe8d4

Please sign in to comment.