| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- name: Reusable build app container image workflow
- on:
- workflow_call:
- inputs:
- source-version:
- type: string
- default: ${{ github.sha }}
- image-name:
- type: string
- default: growilabs/growi
- tag-temporary:
- type: string
- default: latest
- secrets:
- AWS_ROLE_TO_ASSUME_FOR_OIDC:
- required: true
- jobs:
- build-image:
- runs-on: ubuntu-latest
- # These permissions are needed to interact with GitHub's OIDC Token endpoint.
- permissions:
- id-token: write
- contents: write
- strategy:
- matrix:
- platform: [amd64, arm64]
- steps:
- - uses: actions/checkout@v4
- - name: Configure AWS Credentials
- uses: aws-actions/configure-aws-credentials@v4
- with:
- aws-region: ap-northeast-1
- role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME_FOR_OIDC }}
- role-session-name: GitHubActions-SessionForReleaseGROWI-${{ github.run_id }}
- - name: Run CodeBuild
- uses: dark-mechanicum/aws-codebuild@v1
- with:
- projectName: growi-official-image-builder
- env:
- CODEBUILD__sourceVersion: ${{ inputs.source-version }}
- CODEBUILD__imageOverride: ${{ (matrix.platform == 'amd64' && 'aws/codebuild/amazonlinux2-x86_64-standard:5.0') || 'aws/codebuild/amazonlinux2-aarch64-standard:3.0' }}
- CODEBUILD__environmentTypeOverride: ${{ (matrix.platform == 'amd64' && 'LINUX_CONTAINER') || 'ARM_CONTAINER' }}
- CODEBUILD__environmentVariablesOverride: '[
- { "name": "IMAGE_TAG", "type": "PLAINTEXT", "value": "docker.io/${{ inputs.image-name }}:${{ inputs.tag-temporary }}-${{ matrix.platform }}" }
- ]'
|