Files
firezone/.github/workflows/_elixir.yml
dependabot[bot] 34985485e3 build(deps): bump dorny/test-reporter from 2.0.0 to 2.1.0 (#9250)
Bumps [dorny/test-reporter](https://github.com/dorny/test-reporter) from
2.0.0 to 2.1.0.
<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.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix broken links in report summary by <a
href="https://github.com/micmarc"><code>@​micmarc</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/567">dorny/test-reporter#567</a></li>
<li>Increase step summary limit to 1MiB by <a
href="https://github.com/OlesGalatsan"><code>@​OlesGalatsan</code></a>
in <a
href="https://redirect.github.com/dorny/test-reporter/pull/581">dorny/test-reporter#581</a></li>
<li>Fix for empty TRX TestDefinitions by <a
href="https://github.com/OlesGalatsan"><code>@​OlesGalatsan</code></a>
in <a
href="https://redirect.github.com/dorny/test-reporter/pull/582">dorny/test-reporter#582</a></li>
<li>Feature: Add summary title by <a
href="https://github.com/micmarc"><code>@​micmarc</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/568">dorny/test-reporter#568</a></li>
<li>Fix input description for list options by <a
href="https://github.com/Vampire"><code>@​Vampire</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/572">dorny/test-reporter#572</a></li>
<li>Add Golang test parser by <a
href="https://github.com/Shamus03"><code>@​Shamus03</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/571">dorny/test-reporter#571</a></li>
<li>docs: make sure list-tests is correctly documented on action.yml by
<a href="https://github.com/lucasoares"><code>@​lucasoares</code></a> in
<a
href="https://redirect.github.com/dorny/test-reporter/pull/577">dorny/test-reporter#577</a></li>
<li>Update npm packages by <a
href="https://github.com/jozefizso"><code>@​jozefizso</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/583">dorny/test-reporter#583</a></li>
<li>test-reporter release v2.1.0 by <a
href="https://github.com/jozefizso"><code>@​jozefizso</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/584">dorny/test-reporter#584</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/micmarc"><code>@​micmarc</code></a> made
their first contribution in <a
href="https://redirect.github.com/dorny/test-reporter/pull/567">dorny/test-reporter#567</a></li>
<li><a
href="https://github.com/OlesGalatsan"><code>@​OlesGalatsan</code></a>
made their first contribution in <a
href="https://redirect.github.com/dorny/test-reporter/pull/581">dorny/test-reporter#581</a></li>
<li><a href="https://github.com/Vampire"><code>@​Vampire</code></a> made
their first contribution in <a
href="https://redirect.github.com/dorny/test-reporter/pull/572">dorny/test-reporter#572</a></li>
<li><a href="https://github.com/Shamus03"><code>@​Shamus03</code></a>
made their first contribution in <a
href="https://redirect.github.com/dorny/test-reporter/pull/571">dorny/test-reporter#571</a></li>
<li><a
href="https://github.com/lucasoares"><code>@​lucasoares</code></a> made
their first contribution in <a
href="https://redirect.github.com/dorny/test-reporter/pull/577">dorny/test-reporter#577</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/dorny/test-reporter/compare/v2.0.0...v2.1.0">https://github.com/dorny/test-reporter/compare/v2.0.0...v2.1.0</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.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>&lt;&gt;</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 &quot;Processing test results from&quot; 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>
<li>Skip listing of files if error parsing is disabled by <a
href="https://github.com/dorny"><code>@​dorny</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/216">dorny/test-reporter#216</a></li>
<li>Correct typo in docs by <a
href="https://github.com/tangowithfoxtrot"><code>@​tangowithfoxtrot</code></a>
in <a
href="https://redirect.github.com/dorny/test-reporter/pull/254">dorny/test-reporter#254</a></li>
<li>update dependencies by <a
href="https://github.com/j-catania"><code>@​j-catania</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/269">dorny/test-reporter#269</a></li>
<li>Add permissions to example yml files by <a
href="https://github.com/TurnrDev"><code>@​TurnrDev</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/263">dorny/test-reporter#263</a></li>
<li>add feature fail-on-empty by <a
href="https://github.com/gdams"><code>@​gdams</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/243">dorny/test-reporter#243</a></li>
<li>Add dependabot configuration by <a
href="https://github.com/yeikel"><code>@​yeikel</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/228">dorny/test-reporter#228</a></li>
<li>Bump ws from 7.3.1 to 7.5.9 in /reports/jest by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/265">dorny/test-reporter#265</a></li>
<li>Bump actions/checkout from 2 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/279">dorny/test-reporter#279</a></li>
<li>Add new output for url url html by <a
href="https://github.com/luisito666"><code>@​luisito666</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/242">dorny/test-reporter#242</a></li>
<li>Update README.md by <a
href="https://github.com/IanMoroney"><code>@​IanMoroney</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/158">dorny/test-reporter#158</a></li>
<li>Update jest-Junit part of Readme by <a
href="https://github.com/ryancasburn-KAI"><code>@​ryancasburn-KAI</code></a>
in <a
href="https://redirect.github.com/dorny/test-reporter/pull/176">dorny/test-reporter#176</a></li>
<li>fix: default-valued fields are not mandatory by <a
href="https://github.com/TomerFi"><code>@​TomerFi</code></a> in <a
href="https://redirect.github.com/dorny/test-reporter/pull/172">dorny/test-reporter#172</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="890a17cecf"><code>890a17c</code></a>
test-reporter release v2.1.0</li>
<li><a
href="53f5051dfe"><code>53f5051</code></a>
test-reporter release v2.1.0</li>
<li><a
href="d6ff56a60a"><code>d6ff56a</code></a>
Merge pull request <a
href="https://redirect.github.com/dorny/test-reporter/issues/583">#583</a>
from dorny/chore/update_packages</li>
<li><a
href="b0baeedf4a"><code>b0baeed</code></a>
Rebuild dist</li>
<li><a
href="ebe4a9b005"><code>ebe4a9b</code></a>
Upgrade npm packages</li>
<li><a
href="4a3cfcde80"><code>4a3cfcd</code></a>
Upgrade <code>typescript</code> to v5.8.3</li>
<li><a
href="84bcb5d437"><code>84bcb5d</code></a>
Merge pull request <a
href="https://redirect.github.com/dorny/test-reporter/issues/577">#577</a>
from lucasoares/patch-1</li>
<li><a
href="a8c55a3654"><code>a8c55a3</code></a>
Merge pull request <a
href="https://redirect.github.com/dorny/test-reporter/issues/571">#571</a>
from Shamus03/feature/golang-json-parser</li>
<li><a
href="a0398fb7dd"><code>a0398fb</code></a>
Correct behavior for test cases with slashes</li>
<li><a
href="34f1c566ff"><code>34f1c56</code></a>
register parser and update readme</li>
<li>Additional commits viewable in <a
href="6e6a65b7a0...890a17cecf">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dorny/test-reporter&package-manager=github_actions&previous-version=2.0.0&new-version=2.1.0)](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>
2025-05-27 14:00:48 +00:00

279 lines
9.9 KiB
YAML

name: Elixir
on:
workflow_call:
jobs:
unit-test:
runs-on: ubuntu-22.04
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@890a17cecf52a379fc869ab770a71657660be727 # v2.1.0
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
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.erlang-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.erlang-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
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
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
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@890a17cecf52a379fc869ab770a71657660be727 # v2.1.0
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