Skip to content

#384: Fix ACL deployment failure #346

#384: Fix ACL deployment failure

#384: Fix ACL deployment failure #346

Workflow file for this run

name: CI
on:
push:
branches:
- main
- v[0-9]+.[0-9x]+.x
pull_request:
env:
NEXT_TELEMETRY_DISABLED: 1
jobs:
build:
runs-on: ubuntu-latest
container: public.ecr.aws/sam/build-nodejs14.x:latest
steps:
- name: Install yarn
run: npm install --global yarn@1.22.17
- uses: actions/checkout@v2
- name: Cache
uses: actions/cache@v2
with:
path: |
.yarn
**/node_modules
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}
- name: Install dependencies
run: yarn --frozen-lockfile --cache-folder .yarn
- name: Build
run: yarn build
- name: Upload build artifacts
uses: actions/upload-artifact@v2
with:
name: dist
path: |
packages/api/dist/
packages/api/dist.zip
packages/deploy-controller/dist/
packages/deploy-controller/dist.zip
packages/deploy-trigger/dist/
packages/deploy-trigger/dist.zip
packages/proxy/dist/
packages/proxy/dist.zip
packages/proxy-config/dist/
packages/proxy-config/dist.zip
packages/runtime/dist/
packages/tf-next/dist/
if-no-files-found: error
test-integration:
needs: build
runs-on: ubuntu-latest
container: public.ecr.aws/sam/build-nodejs14.x:latest
services:
s3:
image: registry.gitlab.com/dealmore/dealmore-build-images:s3-emulator
env:
MINIO_ACCESS_KEY: test
MINIO_SECRET_KEY: testtest
dynamodb:
image: amazon/dynamodb-local:latest
# @note Github overwrites WORKDIR to repository path, so overwrite that again
options: >-
--workdir /home/dynamodblocal
env:
# Increase heap size for running the tests
NODE_OPTIONS: '--max_old_space_size=4096'
MINIO_ACCESS_KEY: test
MINIO_SECRET_KEY: testtest
S3_ENDPOINT: s3:9000
TEST_DYNAMO_ENDPOINT: http://dynamodb:8000
steps:
- name: Install yarn
run: npm install --global yarn@1.22.17
- uses: actions/checkout@v2
- name: Cache
uses: actions/cache@v2
with:
path: |
.yarn
**/node_modules
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}
- name: Install dependencies
run: yarn --frozen-lockfile --cache-folder .yarn
- name: Download build artifacts
uses: actions/download-artifact@v2
with:
name: dist
path: packages
- name: Jest
run: yarn test:not:runtime
# We run the runtime tests in a dedicated task since running it with the
# other integration tests would cause a memory overflow.
test-integration-runtime:
needs: build
runs-on: ubuntu-latest
container: public.ecr.aws/sam/build-nodejs14.x:latest
steps:
- name: Install yarn
run: npm install --global yarn@1.22.17
- uses: actions/checkout@v2
- name: Cache
uses: actions/cache@v2
with:
path: |
.yarn
**/node_modules
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}
- name: Install dependencies
run: yarn --frozen-lockfile --cache-folder .yarn
- name: Download build artifacts
uses: actions/download-artifact@v2
with:
name: dist
path: packages
- name: Jest
run: yarn test:runtime
test-e2e-prepare:
needs: build
runs-on: ubuntu-latest
container: public.ecr.aws/sam/build-nodejs14.x:latest
steps:
- name: Install yarn
run: npm install --global yarn@1.22.17
- uses: actions/checkout@v2
- name: Cache
uses: actions/cache@v2
with:
path: |
.yarn
**/node_modules
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}
- name: Yarn install
run: yarn --frozen-lockfile --cache-folder .yarn
- name: Download build artifacts
uses: actions/download-artifact@v2
with:
name: dist
path: packages
- name: Build e2e fixtures
run: yarn test:e2e:prepare
- name: Upload e2e fixtures
uses: actions/upload-artifact@v2
with:
name: e2e-fixtures
path: test/fixtures/**/.next-tf/**/*
if-no-files-found: error
publishRelease:
name: Potentially publish release
runs-on: ubuntu-latest
needs: [build, test-integration, test-integration-runtime]
if: github.ref == 'refs/heads/main'
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 25
- name: Fetch git tags
run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Setup node
uses: actions/setup-node@v2
with:
node-version: '14'
cache: 'yarn'
- name: Install dependencies
run: yarn --frozen-lockfile
- name: Download build artifacts
uses: actions/download-artifact@v2
with:
name: dist
path: packages
# git user is required (bot not used) by release-it
- name: Set git user to GitHub Actions
uses: fregante/setup-git-user@v1.0.1
- name: Set registry for publish
run: yarn config set registry https://registry.npmjs.org
- name: Publish packages
run: ./scripts/publish-release.sh