Skip to content

GH-800: Drain the Pipeline #1623

GH-800: Drain the Pipeline

GH-800: Drain the Pipeline #1623

Workflow file for this run

name: ci-matrix
on:
pull_request:
types: [opened, reopened, synchronize]
branches:
- master
jobs:
build:
if: github.event.pull_request.draft == false
strategy:
fail-fast: true
matrix:
target:
- { name: linux, os: ubuntu-22.04 }
- { name: macos, os: macos-12 }
- { name: windows, os: windows-2022 }
name: Build node on ${{ matrix.target.os }}
runs-on: ${{ matrix.target.os }}
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Stable with rustfmt and clippy
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.63.0
components: rustfmt, clippy
override: true
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/cache/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo
- name: Build ${{ matrix.target.os }}
run: |
./ci/all.sh
./ci/multinode_integration_test.sh
./ci/collect_results.sh
shell: bash
- name: Publish ${{ matrix.target.os }}
uses: actions/upload-artifact@v3
with:
name: Node-${{ matrix.target.name }}
path: results
deploy_to_s3:
needs: build
strategy:
matrix:
os: [linux, macos, windows]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/download-artifact@v3
- name: Display structure of downloaded files
run: ls -R
- if: startsWith(github.head_ref, 'GH')
name: Versioned S3 Sync
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl private --follow-symlinks --delete
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-west-2'
DEST_DIR: 'Node/${{ github.event.workflow_run.head_branch }}/Node-${{ matrix.os }}'
SOURCE_DIR: 'Node-${{ matrix.os }}/generated/bin/'
- if: startsWith(github.head_ref, 'v')
name: Latest S3 Sync
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl private --follow-symlinks --delete
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-west-2'
DEST_DIR: 'Node/latest/Node-${{ matrix.os }}'
SOURCE_DIR: 'Node-${{ matrix.os }}/generated/bin/'
- name: Invalidate Binaries CloudFront
uses: chetan/invalidate-cloudfront-action@v2.4
env:
DISTRIBUTION: ${{ secrets.DISTRIBUTION }}
PATHS: "/Node*"
AWS_REGION: "us-west-2"
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}