Update dependency @pulumi/aws to v6 #1322
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Web APP | |
on: | |
push: | |
paths: | |
- .github/workflows/ui.yml | |
- package/cloud/** | |
- package/ui/** | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
registry-url: https://registry.npmjs.org/ | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- run: npm ci | |
- run: npm test -w @topmonks/junofarms-app | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
environment: | |
# - "dev" | |
- "prod" | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
registry-url: https://registry.npmjs.org/ | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: Install Pulumi CLI | |
uses: pulumi/setup-pulumi@v2 | |
- name: Get Pulumi stack output properties | |
run: | | |
pulumi login s3://pulumi.tmcloud.io | |
pulumi stack select junofarms-${{ matrix.environment }} | |
echo "webapp_url=$(pulumi stack output webapp | jq -r '.url')" >> $GITHUB_ENV | |
echo "junofarms_contract=$(pulumi config get --path junofarms:contract)" >> $GITHUB_ENV | |
working-directory: package/cloud | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_REGION: eu-central-1 | |
PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }} | |
- run: npm ci | |
- run: npm run -w @topmonks/junofarms-app build:${{ matrix.environment }} | |
env: | |
NODE_OPTIONS: "--max_old_space_size=8192" | |
VITE_FRONTEND_URL: ${{ env.webapp_url }} | |
VITE_CONTRACT_ADDRESS: ${{ env.junofarms_contract }} | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: website-junofarms-${{ matrix.environment }} | |
path: ./package/ui/dist | |
retention-days: 1 | |
deploy-prod: | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/main' | |
needs: ["test", "build"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: eu-central-1 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: website-junofarms-prod | |
path: ./package/ui/dist | |
- name: Install Pulumi CLI | |
uses: pulumi/setup-pulumi@v2 | |
- name: Get Pulumi stack output properties | |
run: | | |
pulumi login s3://pulumi.tmcloud.io | |
pulumi stack select junofarms-prod | |
echo "s3_bucket=$(pulumi stack output webapp | jq -r '.bucketUri')" >> $GITHUB_ENV | |
echo "cloudfront_id=$(pulumi stack output webapp | jq -r '.cloudFrontId')" >> $GITHUB_ENV | |
working-directory: package/cloud | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_REGION: eu-central-1 | |
PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }} | |
- run: | | |
aws s3 sync ./package/ui/dist ${{ env.s3_bucket }} --delete | |
- run: | | |
aws cloudfront create-invalidation \ | |
--distribution-id ${{ env.cloudfront_id}} \ | |
--paths "/*" |