diff --git a/.github/actions.lock.yaml b/.github/actions.lock.yaml new file mode 100644 index 0000000..aea8f34 --- /dev/null +++ b/.github/actions.lock.yaml @@ -0,0 +1,42 @@ +version: 1 +generated_at: 2026-08-21T11:34:48Z +internal: [] +trusted: + - action: actions/checkout + refs: + - 34e114876b0b11c390a56381ad16ebd13914f8d5 + occurrences: + 34e114876b0b11c390a56381ad16ebd13914f8d5: + .github/workflows/ci.yaml: + - jobs.test.steps.[1].uses + - jobs.permit.steps.[1].uses + - jobs.publish.steps.[1].uses +external: + - action: step-security/harden-runner + refs: + - 9af89fc71515a100421586dfdb3dc9c984fbf411 + occurrences: + 9af89fc71515a100421586dfdb3dc9c984fbf411: + .github/workflows/ci.yaml: + - jobs.test.steps.[0].uses + - jobs.permit.steps.[0].uses + - jobs.publish.steps.[0].uses + - action: step-security/mise-action + refs: + - 2796166110dee826668caddd4bffedae5116e7cd + occurrences: + 2796166110dee826668caddd4bffedae5116e7cd: + .github/workflows/ci.yaml: + - jobs.test.steps.[2].uses + - jobs.publish.steps.[2].uses + - action: step-security/runs-on-cache + refs: + - c5b0cba15d05488ebc630ad8d1e95b3d9b35ac73 + occurrences: + c5b0cba15d05488ebc630ad8d1e95b3d9b35ac73: + .github/workflows/ci.yaml: + - jobs.test.steps.[3].uses +local: [] +docker: [] +dynamic: [] +nested_floating_deps: [] diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 427a7f9..64d9070 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -19,27 +19,13 @@ env: OTP_VERSION: 27.3 DEBIAN_FRONTEND: noninteractive REPOSITORY: surgex - RUNNER_OS: ubuntu22 # Must match Elixir/OTP version in described in action erlef/setup-beam@fc68ffb90438ef2936bbb3251622353b3dcb2f93 # v1 - ImageOS: ubuntu22 DEPENDENCY_FILE: mix.lock WORKING_DIRECTORY: . jobs: test: - name: Elixir ${{ matrix.elixir }} / OTP ${{ matrix.otp }} + name: Test runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - include: - - elixir: '1.15' - otp: '26' - - elixir: '1.16' - otp: '26' - - elixir: '1.17' - otp: '27' - - elixir: '1.18' - otp: '27' services: postgres: @@ -61,8 +47,6 @@ jobs: POSTGRES_PORT: 5432 POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres - MISE_ELIXIR_VERSION: ${{ matrix.elixir }}-otp-${{ matrix.otp }} - MISE_ERLANG_VERSION: ${{ matrix.otp }} steps: - name: Harden the runner @@ -74,14 +58,16 @@ jobs: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - name: Setup mise - uses: step-security/mise-action@2796166110dee826668caddd4bffedae5116e7cd # v4.2.0 + uses: step-security/mise-action@6e96d2ffbc65c037f23c78818f2a339d6cf830f7 # v4.2.4 + with: + version: '2026.8.12' - uses: step-security/runs-on-cache@c5b0cba15d05488ebc630ad8d1e95b3d9b35ac73 # v5.0.7 with: path: | deps _build - key: ${{ runner.os }}-mix-${{ matrix.elixir }}-${{ matrix.otp }}-${{ hashFiles('mix.lock') }} + key: ${{ runner.os }}-mix-${{ hashFiles('mix.lock') }} - run: mix deps.get - run: mix compile @@ -145,7 +131,9 @@ jobs: with: ref: ${{ env.SHA }} - name: Setup mise - uses: step-security/mise-action@2796166110dee826668caddd4bffedae5116e7cd # v4.2.0 + uses: step-security/mise-action@6e96d2ffbc65c037f23c78818f2a339d6cf830f7 # v4.2.4 + with: + version: '2026.8.12' - name: Get dependencies run: mix deps.get - name: Publish package diff --git a/mise.lock b/mise.lock new file mode 100644 index 0000000..ad657a9 --- /dev/null +++ b/mise.lock @@ -0,0 +1,94 @@ +# @generated - this file is auto-generated by `mise lock` https://mise.jdx.dev/dev-tools/mise-lock.html + +lockfile_version = 1 + +[[tools.elixir]] +version = "1.18.3-otp-27" +backend = "core:elixir" +specifiers = ["1.18.3-otp-27"] + +[tools.elixir."platforms.linux-arm64"] +checksum = "sha256:9ea6a5dc238bf9dcaaa2b6660c2bb2e36fd889004dde86d8a1c122cc68665476" +url = "https://builds.hex.pm/builds/elixir/v1.18.3-otp-27.zip" + +[tools.elixir."platforms.linux-arm64-musl"] +checksum = "sha256:9ea6a5dc238bf9dcaaa2b6660c2bb2e36fd889004dde86d8a1c122cc68665476" +url = "https://builds.hex.pm/builds/elixir/v1.18.3-otp-27.zip" + +[tools.elixir."platforms.linux-x64"] +checksum = "sha256:9ea6a5dc238bf9dcaaa2b6660c2bb2e36fd889004dde86d8a1c122cc68665476" +url = "https://builds.hex.pm/builds/elixir/v1.18.3-otp-27.zip" + +[tools.elixir."platforms.linux-x64-musl"] +checksum = "sha256:9ea6a5dc238bf9dcaaa2b6660c2bb2e36fd889004dde86d8a1c122cc68665476" +url = "https://builds.hex.pm/builds/elixir/v1.18.3-otp-27.zip" + +[tools.elixir."platforms.macos-arm64"] +checksum = "sha256:9ea6a5dc238bf9dcaaa2b6660c2bb2e36fd889004dde86d8a1c122cc68665476" +url = "https://builds.hex.pm/builds/elixir/v1.18.3-otp-27.zip" + +[tools.elixir."platforms.macos-x64"] +checksum = "sha256:9ea6a5dc238bf9dcaaa2b6660c2bb2e36fd889004dde86d8a1c122cc68665476" +url = "https://builds.hex.pm/builds/elixir/v1.18.3-otp-27.zip" + +[tools.elixir."platforms.windows-x64"] +checksum = "sha256:9ea6a5dc238bf9dcaaa2b6660c2bb2e36fd889004dde86d8a1c122cc68665476" +url = "https://builds.hex.pm/builds/elixir/v1.18.3-otp-27.zip" + +[[tools.erlang]] +version = "27.3" +backend = "core:erlang" + +[tools.erlang.options] +precompiled_os = "ubuntu-22.04" + +[tools.erlang."platforms.linux-arm64"] +checksum = "sha256:a2e25d93f317ba79c1e02a130abaf8f0a4dbe14529c89573d2048c593d66dbde" +url = "https://builds.hex.pm/builds/otp/arm64/ubuntu-22.04/OTP-27.3.tar.gz" + +[tools.erlang."platforms.linux-x64"] +checksum = "sha256:e2ea265a971505cbf7d85620ab7c53b67bfac213039f4b0d75ee45bb6052dafe" +url = "https://builds.hex.pm/builds/otp/amd64/ubuntu-22.04/OTP-27.3.tar.gz" + +[[tools.erlang]] +version = "27.3" +backend = "core:erlang" +specifiers = ["27.3"] + +[tools.erlang.options] +precompiled_os = "ubuntu-24.04" + +[tools.erlang."platforms.linux-arm64"] +checksum = "sha256:9778dce24766996fa6ab89f754707f7cb27761623bbf90398941051e87bb2613" +url = "https://builds.hex.pm/builds/otp/arm64/ubuntu-24.04/OTP-27.3.tar.gz" + +[tools.erlang."platforms.linux-x64"] +checksum = "sha256:81bd76d88adfd8a81c3b0cf9aae766779d1e316b9c2f2dbfc17bd22cd5a62833" +url = "https://builds.hex.pm/builds/otp/amd64/ubuntu-24.04/OTP-27.3.tar.gz" + +[[tools.erlang]] +version = "27.3" +backend = "core:erlang" +specifiers = ["27.3"] + +[tools.erlang."platforms.linux-arm64-musl"] +url = "https://github.com/erlang/otp/releases/download/OTP-27.3/otp_src_27.3.tar.gz" +url_api = "https://api.github.com/repos/erlang/otp/releases/assets/234789168" +install = "source" + +[tools.erlang."platforms.linux-x64-musl"] +url = "https://github.com/erlang/otp/releases/download/OTP-27.3/otp_src_27.3.tar.gz" +url_api = "https://api.github.com/repos/erlang/otp/releases/assets/234789168" +install = "source" + +[tools.erlang."platforms.macos-arm64"] +url = "https://github.com/erlef/otp_builds/releases/download/OTP-27.3/otp-aarch64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/erlef/otp_builds/releases/assets/234787082" + +[tools.erlang."platforms.macos-x64"] +url = "https://github.com/erlef/otp_builds/releases/download/OTP-27.3/otp-x86_64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/erlef/otp_builds/releases/assets/234787334" + +[tools.erlang."platforms.windows-x64"] +url = "https://github.com/erlang/otp/releases/download/OTP-27.3/otp_win64_27.3.zip" +url_api = "https://api.github.com/repos/erlang/otp/releases/assets/234809623"