Skip to content
name: Environment Main - Plan
on:
pull_request: {}
permissions:
id-token: write
contents: read
pull-requests: write
jobs:
envtest:
name: Environment Main - Plan
runs-on: ubuntu-latest
environment: primary-ro
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout code
uses: actions/checkout@9a9194f87191a7e9055e3e9b95b8cfb13023bb08
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install esbuild
run: npm install -g esbuild
- name: Compile, check and test graphql
run: IN_PIPELINE=true make graphql
- name: Test ui
run: IN_PIPELINE=true make ui-test
- name: Run codacy-coverage-reporter
uses: codacy/codacy-coverage-reporter-action@a38818475bb21847788496e9f0fddaa4e84955ba
with:
project-token: ${{ secrets.CODACY_API_TOKEN }}
coverage-reports: graphql/coverage/lcov.info, ui/coverage/lcov.info
- name: Configure AWS Access
uses: aws-actions/configure-aws-credentials@ead1e6af28a20f26cc47437fa7e4c8357409ef24
with:
role-to-assume: arn:aws:iam::${{ vars.AWS_ACCOUNT }}:role/${{ vars.AWS_ROLE }}
role-session-name: GitHubTest-${{ vars.ENVIRONMENT }}
aws-region: ${{ vars.AWS_REGION }}
- name: terraform plan
uses: dflook/terraform-plan@b0877a1bf56160160ab482f4aff8a12fff35fe06
with:
path: terraform/environment/wildsea
variables: |
environment="${{ vars.ENVIRONMENT }}"
saml_metadata_url="${{ secrets.SAML_METADATA_URL }}"
backend_config:
bucket=${{ vars.STATE_BUCKET }}
key=${{ vars.ENVIRONMENT }}/terraform.tfstate
region=${{ vars.AWS_REGION }}
- name: TMP
uses: dflook/terraform-output@3d8cad2c5bc8003a369682ae1aafb5975b48a50c
id: terraform-output
with:
path: terraform/environment/wildsea
variables: |
environment="${{ vars.ENVIRONMENT }}"
saml_metadata_url="${{ secrets.SAML_METADATA_URL }}"
backend_config:
bucket=${{ vars.STATE_BUCKET }}
key=${{ vars.ENVIRONMENT }}/terraform.tfstate
region=${{ vars.AWS_REGION }}
- name: TMP2
run: |
echo "${{ steps.terraform-output }}"
echo "${{ steps.terraform-output.outputs }}"
echo "${{ join(steps.terraform-output.outputs.*, '\n') }}"
echo "${{ steps.terraform-output.outputs.ui_bucket }}"
echo "${{ steps.terraform-output.outputs.cdn_id }}"
echo "${{ steps.terraform-output.outputs.region }}"
cat > ui/config/output-${{ vars.ENVIRONMENT }}.json <<EOF
{
"ui_bucket": {"value": "${{ steps.terraform-output.outputs.ui_bucket }}"},
"cdn_id": {"value": "${{ steps.terraform-output.outputs.cdn_id }}"},
}
EOF
- name: TMP3
run: |
IN_PIPELINE=true make ui/.push-${{ vars.ENVIRONMENT }}