diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml new file mode 100644 index 000000000..cc790c6bd --- /dev/null +++ b/.github/actionlint.yaml @@ -0,0 +1,6 @@ +paths: + .github/workflows/ci.yml: + ignore: + # actionlint v1.7.12 does not support GitHub Actions parallel steps yet. + - 'step must run script with "run" section or run action with "uses" section' + - 'property "wsl-image" is not defined in object type \{\}' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c113ce957..e5e10a2bf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,29 +57,30 @@ jobs: uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - - name: Prepare Docker Compose environment - run: | - mise_version=$(sed -n 's/^min_version = "\(.*\)"$/\1/p' mise.toml) - if [[ -z ${mise_version} ]]; then - echo "Failed to read mise min_version." >&2 - exit 1 - fi - echo "MISE_VERSION=${mise_version}" >> "${GITHUB_ENV}" - - name: Resolve Ubuntu WSL image version - id: wsl-image - run: | - etag=$( - curl --fail-with-body --silent --head --location \ - --write-out '%header{etag}' \ - --output /dev/null \ - "${WSL_IMAGE_URL}" - ) - etag="${etag//\"/}" - if [[ -z ${etag} ]]; then - echo "Failed to read WSL image ETag." >&2 - exit 1 - fi - echo "etag=${etag}" >> "${GITHUB_OUTPUT}" + - parallel: + - name: Prepare Docker Compose environment + run: | + mise_version=$(sed -n 's/^min_version = "\(.*\)"$/\1/p' mise.toml) + if [[ -z ${mise_version} ]]; then + echo "Failed to read mise min_version." >&2 + exit 1 + fi + echo "MISE_VERSION=${mise_version}" >> "${GITHUB_ENV}" + - name: Resolve Ubuntu WSL image version + id: wsl-image + run: | + etag=$( + curl --fail-with-body --silent --head --location \ + --write-out '%header{etag}' \ + --output /dev/null \ + "${WSL_IMAGE_URL}" + ) + etag="${etag//\"/}" + if [[ -z ${etag} ]]; then + echo "Failed to read WSL image ETag." >&2 + exit 1 + fi + echo "etag=${etag}" >> "${GITHUB_OUTPUT}" - name: Cache Ubuntu WSL image id: wsl-cache uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0