Skip to content

build

build #606

Workflow file for this run

name: build
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Ruby 3.2
uses: ruby/setup-ruby@a4effe49ee8ee5b8b5091268c473a4628afb5651 # v1.245.0
with:
ruby-version: 3.2
- name: Install dependencies
if: steps.cache-dependencies.outputs.cache-hit != 'true'
run: |
bundle config path vendor/bundle
bundle install
- name: Lint
run: bundle exec rubocop
unit-test:
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
ruby-version: [3.2, 3.3, 3.4]
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Ruby ${{ matrix.ruby-version }}
uses: ruby/setup-ruby@a4effe49ee8ee5b8b5091268c473a4628afb5651 # v1.245.0
with:
ruby-version: ${{ matrix.ruby-version }}
- name: Install dependencies
if: steps.cache-dependencies.outputs.cache-hit != 'true'
run: |
bundle config path vendor/bundle
bundle install
- name: Run tests
run: bundle exec rake test
integration-test:
runs-on: ubuntu-latest
strategy:
matrix:
runtime-param: [3.2, 3.3, 3.4]
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Node 20
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 20
- name: Cache Node modules
id: cache-node-modules
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install Serverless Framework
run: sudo yarn global add serverless@3 --prefix /usr/local
- name: Install dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
working-directory: integration_tests
run: yarn install
- name: Install Crossbuild dependencies
run: |
sudo apt-get update --allow-releaseinfo-change --fix-missing
sudo apt install -y qemu-user-static binfmt-support
- name: Run tests
env:
BUILD_LAYERS: true
DD_API_KEY: ${{ secrets.DD_API_KEY }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
RUNTIME_PARAM: ${{ matrix.runtime-param }}
ARCH: amd64
run: ./scripts/run_integration_tests.sh