mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
Bumps [dorny/test-reporter](https://github.com/dorny/test-reporter) from 2.1.0 to 2.1.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dorny/test-reporter/releases">dorny/test-reporter's releases</a>.</em></p> <blockquote> <h2>v2.1.1</h2> <p>A bug fix release of the <code>test-reporter</code> action.</p> <h2>What's Changed</h2> <ul> <li>Use if: '!cancelled()' by <a href="https://github.com/Vampire"><code>@Vampire</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/576">dorny/test-reporter#576</a></li> <li>Update packages to latest minor releases by <a href="https://github.com/jozefizso"><code>@jozefizso</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/599">dorny/test-reporter#599</a></li> <li>Add step summary short summary by <a href="https://github.com/OlesGalatsan"><code>@OlesGalatsan</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/589">dorny/test-reporter#589</a></li> <li>Return links to summary report by <a href="https://github.com/OlesGalatsan"><code>@OlesGalatsan</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/588">dorny/test-reporter#588</a></li> <li>Add type definitions to <code>github-utils.ts</code> by <a href="https://github.com/jozefizso"><code>@jozefizso</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/604">dorny/test-reporter#604</a></li> <li>Configure markdown linting rules by <a href="https://github.com/jozefizso"><code>@jozefizso</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/605">dorny/test-reporter#605</a></li> <li>List only failed tests by <a href="https://github.com/jozefizso"><code>@jozefizso</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/606">dorny/test-reporter#606</a></li> <li>Add stack trace from trx to summary by <a href="https://github.com/dboriichuk"><code>@dboriichuk</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/615">dorny/test-reporter#615</a></li> <li>Update development dependencies by <a href="https://github.com/jozefizso"><code>@jozefizso</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/628">dorny/test-reporter#628</a></li> <li>Fix error when a TestMethod element does not have a className attribute in a trx file by <a href="https://github.com/0xced"><code>@0xced</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/623">dorny/test-reporter#623</a></li> <li>test-reporter release v2.1.1 by <a href="https://github.com/jozefizso"><code>@jozefizso</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/638">dorny/test-reporter#638</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/dboriichuk"><code>@dboriichuk</code></a> made their first contribution in <a href="https://redirect.github.com/dorny/test-reporter/pull/615">dorny/test-reporter#615</a></li> <li><a href="https://github.com/0xced"><code>@0xced</code></a> made their first contribution in <a href="https://redirect.github.com/dorny/test-reporter/pull/623">dorny/test-reporter#623</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/dorny/test-reporter/compare/v2.1.0...v2.1.1">https://github.com/dorny/test-reporter/compare/v2.1.0...v2.1.1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/dorny/test-reporter/blob/main/CHANGELOG.md">dorny/test-reporter's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <h2>2.1.1</h2> <ul> <li>Fix error when a TestMethod element does not have a className attribute in a trx file <a href="https://redirect.github.com/dorny/test-reporter/pull/623">dorny/test-reporter#623</a></li> <li>Add stack trace from trx to summary <a href="https://redirect.github.com/dorny/test-reporter/pull/615">dorny/test-reporter#615</a></li> <li>List only failed tests <a href="https://redirect.github.com/dorny/test-reporter/pull/606">dorny/test-reporter#606</a></li> <li>Add type definitions to <code>github-utils.ts</code> <a href="https://redirect.github.com/dorny/test-reporter/pull/604">dorny/test-reporter#604</a></li> <li>Avoid split on undefined <a href="https://redirect.github.com/dorny/test-reporter/pull/258">dorny/test-reporter#258</a></li> <li>Return links to summary report <a href="https://redirect.github.com/dorny/test-reporter/pull/588">dorny/test-reporter#588</a></li> <li>Add step summary short summary <a href="https://redirect.github.com/dorny/test-reporter/pull/589">dorny/test-reporter#589</a></li> <li>Fix for empty TRX TestDefinitions <a href="https://redirect.github.com/dorny/test-reporter/pull/582">dorny/test-reporter#582</a></li> <li>Increase step summary limit to 1MiB <a href="https://redirect.github.com/dorny/test-reporter/pull/581">dorny/test-reporter#581</a></li> <li>Fix input description for list options <a href="https://redirect.github.com/dorny/test-reporter/pull/572">dorny/test-reporter#572</a></li> </ul> <h2>2.1.0</h2> <ul> <li>Feature: Add summary title <a href="https://redirect.github.com/dorny/test-reporter/pull/568">dorny/test-reporter#568</a></li> <li>Feature: Add Golang test parser <a href="https://redirect.github.com/dorny/test-reporter/pull/571">dorny/test-reporter#571</a></li> <li>Increase step summary limit to 1MiB <a href="https://redirect.github.com/dorny/test-reporter/pull/581">dorny/test-reporter#581</a></li> <li>Fix for empty TRX TestDefinitions <a href="https://redirect.github.com/dorny/test-reporter/pull/582">dorny/test-reporter#582</a></li> <li>Fix input description for list options <a href="https://redirect.github.com/dorny/test-reporter/pull/572">dorny/test-reporter#572</a></li> <li>Update npm packages <a href="https://redirect.github.com/dorny/test-reporter/pull/583">dorny/test-reporter#583</a></li> </ul> <h2>2.0.0</h2> <ul> <li>Parse JUnit report with detailed message in failure <a href="https://redirect.github.com/dorny/test-reporter/pull/559">dorny/test-reporter#559</a></li> <li>Support displaying test results in markdown using GitHub Actions Job Summaries <a href="https://redirect.github.com/dorny/test-reporter/pull/383">dorny/test-reporter#383</a></li> </ul> <h2>1.9.1</h2> <ul> <li>Fix problematic retransmission of authentication token <a href="https://redirect.github.com/dorny/test-reporter/pull/438">dorny/test-reporter#438</a></li> <li>Report correct number of tests in Dart <a href="https://redirect.github.com/dorny/test-reporter/pull/426">dorny/test-reporter#426</a></li> <li>Number of completed tests mismatches passed/failed <a href="https://redirect.github.com/dorny/test-reporter/issues/319">dorny/test-reporter#319</a></li> </ul> <h2>1.9.0</h2> <ul> <li>Add support for Rspec (Ruby) <a href="https://redirect.github.com/dorny/test-reporter/pull/398">dorny/test-reporter#398</a></li> </ul> <h2>1.8.0</h2> <ul> <li>Add <code>SwiftXunitParser</code> class based on <code>JavaJunitParser</code> for <code>swift-xunit</code> reporter <a href="https://redirect.github.com/dorny/test-reporter/pull/317">dorny/test-reporter#317</a></li> <li>Use NodeJS 18 LTS as default runtime <a href="https://redirect.github.com/dorny/test-reporter/pull/332">dorny/test-reporter#332</a></li> <li>Escape <code><></code> characters in suite name <a href="https://redirect.github.com/dorny/test-reporter/pull/236">dorny/test-reporter#236</a></li> <li>Update actions runtime to Node20 <a href="https://redirect.github.com/dorny/test-reporter/pull/315">dorny/test-reporter#315</a></li> <li>Update check title and remove icon <a href="https://redirect.github.com/dorny/test-reporter/pull/144">dorny/test-reporter#144</a></li> </ul> <h2>1.7.0</h2> <ul> <li>Fix <a href="https://redirect.github.com/dorny/test-reporter/issues/199">#199</a>: Use ✅ instead of ✔️ for better cross platform look by <a href="https://github.com/petrdvorak"><code>@petrdvorak</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/200">dorny/test-reporter#200</a></li> <li>Verify content of dist/ folder matches build output by <a href="https://github.com/dorny"><code>@dorny</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/207">dorny/test-reporter#207</a></li> <li>Gracefully handle empty nested testsuite elements for JUnit. by <a href="https://github.com/rvdlaarschot"><code>@rvdlaarschot</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/193">dorny/test-reporter#193</a></li> <li>Gracefully handle empty failure tags by <a href="https://github.com/haudren-woven"><code>@haudren-woven</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/213">dorny/test-reporter#213</a></li> <li>Fix <a href="https://redirect.github.com/dorny/test-reporter/issues/208">#208</a> - java-junit: show annotations on PR changed files by <a href="https://github.com/atsu85"><code>@atsu85</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/209">dorny/test-reporter#209</a></li> <li>Only report failure if fail-on-error is set by <a href="https://github.com/trond-snekvik"><code>@trond-snekvik</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/214">dorny/test-reporter#214</a></li> <li>Improve clarity on configuring for forkable repos by <a href="https://github.com/abelbraaksma"><code>@abelbraaksma</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/211">dorny/test-reporter#211</a></li> <li>Suppress "Processing test results from" log by <a href="https://github.com/vasanthdharmaraj"><code>@vasanthdharmaraj</code></a> in <a href="https://redirect.github.com/dorny/test-reporter/pull/179">dorny/test-reporter#179</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="dc3a92680f"><code>dc3a926</code></a> test-reporter release v2.1.1</li> <li><a href="e8e27361af"><code>e8e2736</code></a> test-reporter release v2.1.1</li> <li><a href="ec9d9d2459"><code>ec9d9d2</code></a> Merge pull request <a href="https://redirect.github.com/dorny/test-reporter/issues/623">#623</a> from 0xced/xunitv3-trx</li> <li><a href="be36461fba"><code>be36461</code></a> Fix code formatting in the <code>dotnet-trx.tests.ts</code> file</li> <li><a href="8dd7047bf0"><code>8dd7047</code></a> Merge pull request <a href="https://redirect.github.com/dorny/test-reporter/issues/628">#628</a> from dorny/chore/update_packages</li> <li><a href="71814ae0cd"><code>71814ae</code></a> Update development dependencies</li> <li><a href="4128d36b92"><code>4128d36</code></a> Use "Unclassified" when no class name is available</li> <li><a href="d1504ea554"><code>d1504ea</code></a> Add test on a trx report where the className attribute of TestMethod is missing</li> <li><a href="18430db883"><code>18430db</code></a> Merge pull request <a href="https://redirect.github.com/dorny/test-reporter/issues/615">#615</a> from dboriichuk/trx-stack-trace-summary</li> <li><a href="ae8bd195f8"><code>ae8bd19</code></a> Add stack tracke to summary</li> <li>Additional commits viewable in <a href="890a17cecf...dc3a92680f">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
279 lines
9.9 KiB
YAML
279 lines
9.9 KiB
YAML
name: Elixir
|
|
on:
|
|
workflow_call:
|
|
|
|
jobs:
|
|
unit-test:
|
|
runs-on: ubuntu-22.04-xlarge
|
|
defaults:
|
|
run:
|
|
working-directory: ./elixir
|
|
permissions:
|
|
checks: write
|
|
env:
|
|
MIX_ENV: test
|
|
POSTGRES_HOST: localhost
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- uses: ./.github/actions/setup-postgres
|
|
- uses: ./.github/actions/setup-elixir
|
|
with:
|
|
mix_env: ${{ env.MIX_ENV }}
|
|
- name: Compile Application
|
|
run: mix compile --warnings-as-errors
|
|
- name: Setup Database
|
|
run: |
|
|
mix ecto.create
|
|
mix ecto.migrate
|
|
- name: Run Tests
|
|
env:
|
|
E2E_DEFAULT_WAIT_SECONDS: 20
|
|
CI_ASSERT_RECEIVE_TIMEOUT_MS: 250
|
|
run: |
|
|
mix_test="mix test --warnings-as-errors --exclude flaky:true --exclude acceptance:true"
|
|
$mix_test || $mix_test --failed
|
|
- name: Test Report
|
|
uses: dorny/test-reporter@dc3a92680fcc15842eef52e8c4606ea7ce6bd3f3 # v2.1.1
|
|
if:
|
|
${{ github.event.pull_request.head.repo.full_name == github.repository
|
|
&& (success() || failure()) }}
|
|
with:
|
|
name: Elixir Unit Test Report
|
|
path: elixir/_build/test/lib/*/test-junit-report.xml
|
|
reporter: java-junit
|
|
|
|
type-check:
|
|
runs-on: ubuntu-22.04-xlarge
|
|
defaults:
|
|
run:
|
|
working-directory: ./elixir
|
|
env:
|
|
# We need to set MIX_ENV to dev to make sure that we won't type-check our test helpers
|
|
MIX_ENV: dev
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- uses: ./.github/actions/setup-elixir
|
|
id: setup-beam
|
|
with:
|
|
mix_env: ${{ env.MIX_ENV }}
|
|
- name: Compile Application
|
|
run: mix compile --warnings-as-errors
|
|
- uses: actions/cache/restore@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
|
name: Restore PLT cache
|
|
id: plt_cache
|
|
with:
|
|
path: elixir/priv/plts
|
|
key: dialyzer-ubuntu-22.04-${{ runner.arch }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ steps.setup-beam.outputs.otp-version }}-${{ hashFiles('elixir/mix.lock') }}
|
|
# This will make sure that we can incrementally build the PLT from older cache and save it under a new key
|
|
restore-keys: |
|
|
dialyzer-ubuntu-22.04-${{ runner.arch }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ steps.setup-beam.outputs.otp-version }}-
|
|
- name: Create PLTs
|
|
if: ${{ steps.plt_cache.outputs.cache-hit != 'true' }}
|
|
run: mix dialyzer --plt
|
|
- uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
|
if: ${{ github.ref_name == 'main' }}
|
|
name: Save PLT cache
|
|
with:
|
|
key: ${{ steps.plt_cache.outputs.cache-primary-key }}
|
|
path: elixir/priv/plts
|
|
- name: Run Dialyzer
|
|
run: mix dialyzer --format dialyxir
|
|
|
|
static-analysis:
|
|
runs-on: ubuntu-22.04-xlarge
|
|
defaults:
|
|
run:
|
|
working-directory: ./elixir
|
|
env:
|
|
MIX_ENV: test
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- uses: ./.github/actions/setup-elixir
|
|
with:
|
|
mix_env: ${{ env.MIX_ENV }}
|
|
- name: Compile Application
|
|
run: mix compile --force --warnings-as-errors
|
|
- name: Check Formatting
|
|
run: mix format --check-formatted
|
|
- name: Check For Retired Packages
|
|
run: mix hex.audit
|
|
- name: Check For Vulnerable Packages
|
|
run: mix deps.audit
|
|
- name: Run Sobelow vulnerability scanner for web app
|
|
working-directory: ./elixir/apps/web
|
|
run: mix sobelow --skip
|
|
- name: Run Credo
|
|
run: mix credo --strict
|
|
- name: Check for unused deps
|
|
run: mix deps.unlock --check-unused
|
|
|
|
migrations-and-seed-test:
|
|
runs-on: ubuntu-22.04-xlarge
|
|
defaults:
|
|
run:
|
|
working-directory: ./elixir
|
|
env:
|
|
MIX_ENV: dev
|
|
POSTGRES_HOST: localhost
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- uses: ./.github/actions/setup-postgres
|
|
- uses: ./.github/actions/setup-elixir
|
|
with:
|
|
mix_env: ${{ env.MIX_ENV }}
|
|
- name: Compile
|
|
run: mix compile --warnings-as-errors
|
|
- name: Create Database
|
|
run: mix ecto.create
|
|
- name: Migrate DB to base ref and seed
|
|
run: |
|
|
git fetch --depth=1 origin ${{ github.base_ref }}
|
|
git checkout ${{ github.base_ref }}
|
|
mix deps.get
|
|
mix ecto.migrate
|
|
mix ecto.seed
|
|
# Then checkout current ref and rerun migrations
|
|
- name: Run new migrations
|
|
run: |
|
|
git checkout ${{ github.sha }}
|
|
mix deps.get
|
|
mix ecto.migrate
|
|
mix ecto.reset
|
|
mix ecto.migrate
|
|
mix ecto.seed
|
|
|
|
acceptance-test:
|
|
name: acceptance-test-${{ matrix.MIX_TEST_PARTITION }}
|
|
permissions:
|
|
checks: write
|
|
runs-on: ubuntu-22.04-xlarge
|
|
defaults:
|
|
run:
|
|
working-directory: ./elixir
|
|
env:
|
|
MIX_ENV: test
|
|
POSTGRES_HOST: localhost
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
MIX_TEST_PARTITIONS: 1
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
MIX_TEST_PARTITION: [1]
|
|
services:
|
|
vault:
|
|
image: vault:1.12.2
|
|
env:
|
|
VAULT_ADDR: "http://127.0.0.1:8200"
|
|
VAULT_DEV_ROOT_TOKEN_ID: "firezone"
|
|
ports:
|
|
- 8200:8200/tcp
|
|
options: --cap-add=IPC_LOCK
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- uses: ./.github/actions/setup-postgres
|
|
- uses: nanasess/setup-chromedriver@e93e57b843c0c92788f22483f1a31af8ee48db25 # v2.3.0
|
|
- run: |
|
|
export DISPLAY=:99
|
|
chromedriver --url-base=/wd/hub &
|
|
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
|
|
- uses: ./.github/actions/setup-elixir
|
|
with:
|
|
mix_env: ${{ env.MIX_ENV }}
|
|
- uses: ./.github/actions/setup-node
|
|
- name: Compile Application
|
|
run: mix compile --warnings-as-errors
|
|
# Front-End deps cache
|
|
- uses: actions/cache/restore@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
|
name: pnpm Web Deps Cache
|
|
id: pnpm-web-deps-cache
|
|
env:
|
|
cache-name: pnpm-deps-web
|
|
with:
|
|
path: |
|
|
elixir/apps/web/assets/node_modules
|
|
elixir/esbuild-*
|
|
elixir/tailwind-*
|
|
key: ubuntu-22.04-${{ runner.arch }}-${{ env.cache-name }}-${{ hashFiles('elixir/apps/web/assets/pnpm-lock.yaml') }}
|
|
- name: Install Front-End Dependencies
|
|
if: ${{ steps.pnpm-web-deps-cache.outputs.cache-hit != 'true' }}
|
|
run: |
|
|
cd apps/web
|
|
mix assets.setup
|
|
- uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
|
name: Save pnpm Deps Cache
|
|
if: ${{ github.ref_name == 'main' }}
|
|
env:
|
|
cache-name: pnpm-deps-web
|
|
with:
|
|
path: |
|
|
elixir/apps/web/assets/node_modules
|
|
elixir/esbuild-*
|
|
elixir/tailwind-*
|
|
key: ubuntu-22.04-${{ runner.arch }}-${{ env.cache-name }}-${{ hashFiles('elixir/apps/web/assets/pnpm-lock.yaml') }}
|
|
# Front-End build cache, it rarely changes so we cache it aggressively too
|
|
- uses: actions/cache/restore@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
|
name: Web Assets Cache
|
|
id: pnpm-web-build-cache
|
|
env:
|
|
cache-name: pnpm-build-web
|
|
with:
|
|
path: |
|
|
elixir/apps/web/assets/tmp
|
|
elixir/apps/web/priv/static
|
|
key: ubuntu-22.04-${{ runner.arch }}-${{ env.cache-name }}-${{ hashFiles('elixir/apps/web/assets/**') }}
|
|
- name: Build Web Assets
|
|
if: ${{ steps.pnpm-web-build-cache.outputs.cache-hit != 'true' }}
|
|
run: |
|
|
cd apps/web
|
|
mix assets.build
|
|
- uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
|
name: Save Web Assets Cache
|
|
if: ${{ github.ref_name == 'main' }}
|
|
env:
|
|
cache-name: pnpm-build-web
|
|
with:
|
|
path: |
|
|
elixir/apps/web/assets/tmp
|
|
elixir/apps/web/priv/static
|
|
key: ubuntu-22.04-${{ runner.arch }}-${{ env.cache-name }}-${{ hashFiles('elixir/apps/web/assets/**') }}
|
|
# Run tests
|
|
- name: Setup Database
|
|
run: |
|
|
mix ecto.create
|
|
mix ecto.migrate
|
|
- name: Run Acceptance Tests
|
|
env:
|
|
MIX_TEST_PARTITION: ${{ matrix.MIX_TEST_PARTITION }}
|
|
E2E_DEFAULT_WAIT_SECONDS: 20
|
|
run: |
|
|
mix test --only acceptance:true \
|
|
--partitions=${{ env.MIX_TEST_PARTITIONS }} \
|
|
--no-compile \
|
|
--no-archives-check \
|
|
--no-deps-check \
|
|
|| pkill -f chromedriver \
|
|
|| mix test --only acceptance:true --failed \
|
|
|| pkill -f chromedriver \
|
|
|| mix test --only acceptance:true --failed
|
|
- name: Save Screenshots
|
|
if:
|
|
${{ github.event.pull_request.head.repo.full_name == github.repository
|
|
&& always() }}
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
name: screenshots-${{ matrix.MIX_TEST_PARTITION }}
|
|
path: elixir/apps/web/screenshots
|
|
- name: Test Report
|
|
uses: dorny/test-reporter@dc3a92680fcc15842eef52e8c4606ea7ce6bd3f3 # v2.1.1
|
|
if:
|
|
${{ github.event.pull_request.head.repo.full_name == github.repository
|
|
&& (success() || failure()) }}
|
|
with:
|
|
name: Elixir Acceptance Test Report
|
|
path: elixir/_build/test/lib/*/test-junit-report.xml
|
|
reporter: java-junit
|