diff --git a/.github/workflows/aws-build.yaml b/.github/workflows/aws-build.yaml index d65fca9..1a32450 100644 --- a/.github/workflows/aws-build.yaml +++ b/.github/workflows/aws-build.yaml @@ -2,41 +2,33 @@ name: Packer Build for AWS on: workflow_dispatch: + inputs: + env: + type: choice + description: Select environment depending of the project for which you're building the image + options: + - aws_dev + - aws_prod jobs: - build-aws-dev: - if: github.ref == 'refs/heads/develop' - runs-on: ubuntu-20.04 - environment: aws_dev + build: + runs-on: ubuntu-24.04 + environment: ${{ inputs.env }} strategy: + fail-fast: false matrix: aws-region: [us-east-1, us-west-2] - steps: - - name: Checkout Packer project - uses: actions/checkout@v4 + arch: [amd64, arm64] - - name: Initialize Packer Plugin Binaries:AWS - run: packer init ./aws - - - name: Build Image:AWS - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - run: | - packer build -force -var-file=./aws/amd64/values.pkrvars.hcl -var "region=${{ matrix.aws-region }}" -var "runner_version=$(cat versions.json | jq -r '.runner')" ./aws - packer build -force -var-file=./aws/arm64/values.pkrvars.hcl -var "region=${{ matrix.aws-region }}" -var "runner_version=$(cat versions.json | jq -r '.runner')" ./aws - - build-aws-prod: - if: github.ref == 'refs/heads/main' - runs-on: ubuntu-20.04 - environment: aws_prod - strategy: - matrix: - aws-region: [us-east-1, us-west-2] steps: - name: Checkout Packer project uses: actions/checkout@v4 + - name: Setup packer + uses: hashicorp/setup-packer@v3 + with: + version: latest + - name: Initialize Packer Plugin Binaries:AWS run: packer init ./aws @@ -45,5 +37,5 @@ jobs: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} run: | - packer build -force -var-file=./aws/amd64/values.pkrvars.hcl -var "region=${{ matrix.aws-region }}" -var "runner_version=$(cat versions.json | jq -r '.runner')" ./aws - packer build -force -var-file=./aws/arm64/values.pkrvars.hcl -var "region=${{ matrix.aws-region }}" -var "runner_version=$(cat versions.json | jq -r '.runner')" ./aws \ No newline at end of file + packer build -force -var-file=./aws/${{ matrix.arch }}/values.pkrvars.hcl -var "region=${{ matrix.aws-region }}" -var "runner_version=$(cat versions.json | jq -r '.runner')" ./aws + diff --git a/.github/workflows/aws-lint.yaml b/.github/workflows/aws-lint.yaml index 9ccb1f0..34e12d8 100644 --- a/.github/workflows/aws-lint.yaml +++ b/.github/workflows/aws-lint.yaml @@ -7,18 +7,24 @@ on: jobs: validate-aws: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: + fail-fast: false matrix: aws-region: [us-east-1, us-west-2] + arch: [amd64, arm64] steps: - name: Checkout Repository uses: actions/checkout@v4 + + - name: Setup packer + uses: hashicorp/setup-packer@v3 + with: + version: latest - name: Initialize Packer Plugin Binaries:AWS run: packer init ./aws - name: Validate Template:AWS run: | - packer validate -var-file=./aws/amd64/values.pkrvars.hcl -var "region=${{ matrix.aws-region }}" -var "runner_version=$(cat versions.json | jq -r '.runner')" ./aws - packer validate -var-file=./aws/arm64/values.pkrvars.hcl -var "region=${{ matrix.aws-region }}" -var "runner_version=$(cat versions.json | jq -r '.runner')" ./aws \ No newline at end of file + packer validate -var-file=./aws/${{ matrix.arch }}/values.pkrvars.hcl -var "region=${{ matrix.aws-region }}" -var "runner_version=$(cat versions.json | jq -r '.runner')" ./aws