Skip to content

fix: update branch name #2

fix: update branch name

fix: update branch name #2

Workflow file for this run

# WARNING: If you modify this workflow, please update the documentation
on:
workflow_call:
inputs:
target:
description: |
The target used to mark release builds. This target should be unique
across all Earthly files in the repository. The target should always
produce at least one artifact which is included in the final GitHub
release when the workflow is triggered by a tag.
required: false
type: string
default: release
aws_role_arn:
description: |
The ARN of the AWS role that will be assumed by the workflow. Only
required when configuring a remote Earthly runner.
required: false
type: string
aws_region:
description: |
The AWS region that will be used by the workflow. Only required when
configuring a remote Earthly runner.
required: false
type: string
ci_cli_version:
description: |
The version of the CI CLI to use.
required: false
type: string
default: latest
earthly_version:
description: The version of Earthly to use.
required: false
type: string
default: latest
force_artifact:
description: |
When set to true, the workflow will always produce an artifact even
when the current commit is not tagged.
required: false
type: boolean
default: false
secrets:
dockerhub_username:
description: The token to use for logging into the DockerHub registry.
required: false
dockerhub_token:
description: The token to use for logging into the DockerHub registry.
required: false
earthly_runner_address:
description: |
The address of the Earthly runner that will be used to build the
Earthly files.
required: false
earthly_runner_secret:
description: |
The ID of the AWS secret holding Earthly remote runner credentials.
This secret must contain the runner address and the necessary TLS
certificates required to authenticate with it. If omitted, a remote
Earthly runner will not be configured.
required: false
jobs:
discover:
runs-on: ubuntu-latest
outputs:
json: ${{ steps.check.outputs.json }}
paths: ${{ steps.check.outputs.paths }}
steps:
- uses: actions/checkout@v3
- name: Setup CI
uses: input-output-hk/catalyst-ci/actions/setup@@feat/udcmigration
with:
cli_version: ${{ inputs.ci_cli_version }}
configure_registries: "false"
earthly_skip_install: "true"
- name: Discover Earthly files
uses: input-output-hk/catalyst-ci/actions/discover@@feat/udcmigration
id: discover
with:
targets: ${{ inputs.target }}
- name: Check for empty output
id: check
run: |
json=$(echo '${{ steps.discover.outputs.json }}' | jq -rc)
paths=$(echo '${{ steps.discover.outputs.paths }}' | jq -rc)
if [ "$output" == "null" ]; then
echo "json=[]" >> $GITHUB_OUTPUT
echo "paths=[]" >> $GITHUB_OUTPUT
else
echo "json=$json" >> $GITHUB_OUTPUT
echo "paths=$paths" >> $GITHUB_OUTPUT
fi
run:
runs-on: ubuntu-latest
needs: [discover]
if: needs.discover.outputs.paths != '[]'
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
earthfile: ${{ fromJson(needs.discover.outputs.paths) }}
steps:
- name: Get filtered targets
id: get_target
run: |
targets=$(echo '${{ needs.discover.outputs.json }}' | jq -r --arg key '${{ matrix.earthfile }}' '.[$key][]')
echo "Found targets: $targets"
targets_with_space=$(echo $targets | tr '\n' ' ')
echo "targets=$targets_with_space" >> $GITHUB_OUTPUT
- uses: actions/checkout@v3
- name: Setup CI
uses: input-output-hk/catalyst-ci/actions/setup@@feat/udcmigration
with:
aws_role_arn: ${{ inputs.aws_role_arn }}
aws_region: ${{ inputs.aws_region }}
cli_version: ${{ inputs.ci_cli_version }}
dockerhub_token: ${{ secrets.dockerhub_token }}
dockerhub_username: ${{ secrets.dockerhub_username }}
earthly_version: ${{ inputs.earthly_version }}
earthly_runner_secret: ${{ secrets.earthly_runner_secret }}
- name: Build artifact
uses: input-output-hk/catalyst-ci/actions/run@@feat/udcmigration
id: build
with:
earthfile: ${{ matrix.earthfile }}
targets: ${{ steps.get_target.outputs.targets }}
platform: ${{ matrix.platform }}
runner_address: ${{ secrets.earthly_runner_address }}
artifact: "true"
- name: Generate artifact name
if: startsWith(github.ref, 'refs/tags/') || inputs.force_artifact
id: artifact
run: |
earthfile=$(basename ${{ matrix.earthfile }})
platform=$(echo '${{ matrix.platform }}' | sed 's/\//-/g')
echo "name=$earthfile-$platform" >> $GITHUB_OUTPUT
- name: Compress artifact
if: startsWith(github.ref, 'refs/tags/') || inputs.force_artifact
run: |
find "${{ steps.build.outputs.artifact }}" -printf "%P\n" | tar -czvf "${{ steps.artifact.outputs.name }}.tar.gz" -C "${{ steps.build.outputs.artifact }}" -T -
- name: Upload artifact
uses: actions/upload-artifact@v3
if: startsWith(github.ref, 'refs/tags/') || inputs.force_artifact
with:
name: ${{ steps.artifact.outputs.name }}
path: ${{ steps.artifact.outputs.name }}.tar.gz
release:
runs-on: ubuntu-latest
needs: [run]
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Download artifacts
uses: actions/download-artifact@v3
with:
path: artifacts
- name: Collect artifacts
id: collect
run: |
ARTIFACT_PATHS=$(find artifacts -type f -name '*.tar.gz')
echo "artifacts<<EOF" >> $GITHUB_OUTPUT
echo "$ARTIFACT_PATHS" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: Create release
uses: softprops/action-gh-release@v1
with:
files: ${{ steps.collect.outputs.artifacts }}