Skip to content

Prepare release v45 (#171) #254

Prepare release v45 (#171)

Prepare release v45 (#171) #254

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Install Ruby and dependencies
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
ruby-version: "3.4"
- name: Install shfmt
run: sudo apt-get install shfmt
- run: make lint-scripts
- run: make check-format
- run: make lint-ruby
hatchet:
name: "Hatchet (${{ matrix.stack }})"
runs-on: ubuntu-24.04
needs: lint
strategy:
fail-fast: false
matrix:
stack: ["heroku-22", "heroku-24"]
env:
HATCHET_APP_LIMIT: 100
PARALLEL_SPLIT_TEST_PROCESSES: 20
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
HEROKU_API_USER: ${{ secrets.HEROKU_API_USER }}
HEROKU_DISABLE_AUTOUPDATE: 1
HATCHET_BUILDPACK_BASE: https://github.com/heroku/heroku-buildpack-gradle
HATCHET_DEFAULT_STACK: ${{ matrix.stack }}
steps:
- uses: actions/checkout@v5
- name: Install Ruby and dependencies
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
ruby-version: "3.4"
- name: Hatchet setup
run: bundle exec hatchet ci:setup
- name: Run Hatchet integration tests
run: bundle exec parallel_split_test test/spec/
container-test:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v5
# These test both the local development `make run` workflow and that `bin/report` completes successfully
# for both passing and failing builds (since `bin/report` can't easily be tested via Hatchet tests).
- name: Run buildpack using default app fixture
run: make run
#- name: Run buildpack using an app fixture that's expected to fail
# run: make run FIXTURE=spec/fixtures/failing/