130 lines
4.0 KiB
YAML
130 lines
4.0 KiB
YAML
name: Build Technology Radar
|
|
|
|
on:
|
|
workflow_dispatch: # allows triggering the workflow manually
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: "lts/*"
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.npm
|
|
.techradar
|
|
key: ${{ runner.os }}-techradar-${{ hashFiles('**/package-lock.json') }}
|
|
- run: npm ci
|
|
- run: npm run build
|
|
- run: if [ -n "$(git status --porcelain)" ]; then echo 'workspace is dirty after rebuilding' ; git status ; git diff ; exit 1 ; fi
|
|
- name: Upload Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: build
|
|
path: build
|
|
|
|
deploy-test:
|
|
needs: build
|
|
if: github.event_name == 'workflow_dispatch' || github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
|
|
runs-on: ubuntu-latest
|
|
environment:
|
|
name: techradar-test-aoe
|
|
url: http://techradar-test-aoe.s3-website.eu-central-1.amazonaws.com/techradar/
|
|
permissions:
|
|
id-token: write
|
|
contents: read
|
|
steps:
|
|
- name: Configure AWS Credentials
|
|
uses: aws-actions/configure-aws-credentials@master
|
|
with:
|
|
aws-region: eu-central-1
|
|
role-to-assume: arn:aws:iam::511165248623:role/github_techradar
|
|
role-session-name: GitHubActions
|
|
- name: Download Artifact
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: build
|
|
path: build
|
|
- run: 'aws s3 sync --delete build/ s3://techradar-test-aoe/techradar/'
|
|
|
|
deploy:
|
|
needs: build
|
|
if: github.ref == 'refs/heads/main'
|
|
runs-on: ubuntu-latest
|
|
environment:
|
|
name: techradar
|
|
url: https://www.aoe.com/techradar/
|
|
permissions:
|
|
id-token: write
|
|
contents: read
|
|
steps:
|
|
- name: Configure AWS Credentials
|
|
uses: aws-actions/configure-aws-credentials@master
|
|
with:
|
|
aws-region: eu-central-1
|
|
role-to-assume: arn:aws:iam::511165248623:role/github_techradar
|
|
role-session-name: GitHubActions
|
|
- name: Download Artifact
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: build
|
|
path: build
|
|
- run: 'aws s3 sync --delete build/ s3://techradar-prod-aoe/techradar/'
|
|
|
|
# deploy:
|
|
# runs-on: ubuntu-20.04
|
|
# if: github.ref == 'refs/heads/main'
|
|
# needs: build
|
|
# environment:
|
|
# name: techradar
|
|
# url: https://www.aoe.com/techradar/index.html
|
|
# steps:
|
|
# - name: Download Artifact
|
|
# uses: actions/download-artifact@v3
|
|
# with:
|
|
# name: build
|
|
# path: build
|
|
# - uses: jakejarvis/s3-sync-action@master
|
|
# with:
|
|
# args: --acl public-read
|
|
# env:
|
|
# AWS_S3_BUCKET: "techradar.aoe.com"
|
|
# AWS_ACCESS_KEY_ID: ${{ secrets.ACCESS_KEY }}
|
|
# AWS_SECRET_ACCESS_KEY: ${{ secrets.ACCESS_SECRET }}
|
|
# AWS_REGION: "eu-central-1"
|
|
# SOURCE_DIR: "build"
|
|
# DEST_DIR: "techradar"
|
|
#
|
|
# deploy-dev:
|
|
# runs-on: ubuntu-20.04
|
|
# if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
|
|
# needs: build
|
|
# environment:
|
|
# name: techradar-next
|
|
# url: http://techradar-next.aoe.com.s3.eu-central-1.amazonaws.com/techradar/index.html
|
|
# steps:
|
|
# - run: echo "WARNING! THIS DEPLOYS A STAGING ENV, RERUN THIS JOB TO GET YOUR CHANGES DEPLOYED TO STAGING"
|
|
# - name: Download Artifact
|
|
# uses: actions/download-artifact@v3
|
|
# with:
|
|
# name: build
|
|
# path: build
|
|
# - uses: jakejarvis/s3-sync-action@master
|
|
# with:
|
|
# args: --acl public-read
|
|
# env:
|
|
# AWS_S3_BUCKET: "techradar-next.aoe.com"
|
|
# AWS_ACCESS_KEY_ID: ${{ secrets.ACCESS_KEY }}
|
|
# AWS_SECRET_ACCESS_KEY: ${{ secrets.ACCESS_SECRET }}
|
|
# AWS_REGION: "eu-central-1"
|
|
# SOURCE_DIR: "build"
|
|
# DEST_DIR: "techradar"
|