Test latest node release candidate #3
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: Test latest node release candidate | |
on: | |
workflow_dispatch: | |
inputs: | |
docker-image-tag-name: | |
type: string | |
description: The tag of the kiltprotocol/prototype-chain Docker image to test against | |
required: true | |
env: | |
TESTCONTAINERS_WATCHER_IMG: testcontainers/ryuk:0.3.2 | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'yarn' | |
- name: yarn install | |
run: yarn install --immutable | |
- name: yarn build | |
run: yarn build | |
- name: zip build | |
run: zip -r build.zip . | |
- name: upload build | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build | |
path: build.zip | |
cache_imgs: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/checkout@v4 | |
- name: make sure testcontainers image is in cache | |
uses: ./.github/actions/cached-image-pull | |
with: | |
image: ${{ env.TESTCONTAINERS_WATCHER_IMG }} | |
integration_test: | |
runs-on: ubuntu-latest | |
needs: cache_imgs | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: build | |
- name: unzip | |
run: unzip build.zip -d . | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.nvmrc' | |
- name: Log out node version | |
run: node --version | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: eu-central-1 | |
- name: Login to Amazon ECR | |
id: login-ecr | |
uses: aws-actions/amazon-ecr-login@v2 | |
- name: pull image | |
env: | |
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | |
ECR_REPOSITORY: kilt/prototype-chain | |
IMAGE_TAG: ${{ github.event.inputs.docker-image-tag-name }} | |
run: | | |
docker pull $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG | |
echo "TESTCONTAINERS_NODE_IMG=$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" >> $GITHUB_ENV | |
- name: get cached testcontainers image | |
uses: ./.github/actions/cached-image-pull | |
with: | |
image: ${{ env.TESTCONTAINERS_WATCHER_IMG }} | |
- name: run integration tests | |
timeout-minutes: 60 | |
run: yarn test:integration -b | |
bundle_cache: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: build | |
- name: unzip | |
run: unzip build.zip -d . | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.nvmrc' | |
- name: yarn bundle | |
run: yarn bundle | |
- name: upload bundle artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: checked-nonmin-bundle | |
path: packages/sdk-js/dist/sdk-js.umd.js | |
bundle_test: | |
runs-on: ubuntu-latest | |
needs: [cache_imgs, bundle_cache] | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: build | |
- name: unzip | |
run: unzip build.zip -d . | |
- uses: actions/download-artifact@v4 | |
with: | |
name: checked-nonmin-bundle | |
path: packages/sdk-js/dist | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.nvmrc' | |
- run: basename /packages/sdk-js/dist/ | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: eu-central-1 | |
- name: Login to Amazon ECR | |
id: login-ecr | |
uses: aws-actions/amazon-ecr-login@v2 | |
- name: pull node image | |
env: | |
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | |
ECR_REPOSITORY: kilt/prototype-chain | |
IMAGE_TAG: ${{ github.event.inputs.docker-image-tag-name }} | |
run: | | |
docker pull $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG | |
echo "TESTCONTAINERS_NODE_IMG=$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" >> $GITHUB_ENV | |
- name: get cached testcontainers image | |
uses: ./.github/actions/cached-image-pull | |
with: | |
image: ${{ env.TESTCONTAINERS_WATCHER_IMG }} | |
- name: prepare bundle tests | |
run: | | |
yarn test:ci:bundle:preparation | |
- name: run bundle tests | |
timeout-minutes: 60 | |
run: | | |
yarn test:bundle |