Skip to content

Bump sorbet-runtime from 0.6.13363 to 0.6.13365 #9598

Bump sorbet-runtime from 0.6.13363 to 0.6.13365

Bump sorbet-runtime from 0.6.13363 to 0.6.13365 #9598

Workflow file for this run

name: Continuous integration
on: push
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:18-alpine
ports: ['5432:5432']
env:
POSTGRES_PASSWORD: postgres
env:
DB_HOST: localhost
DB_USER: postgres
DB_PASSWORD: postgres
RAILS_ENV: test
steps:
- uses: actions/checkout@v7
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Lint with RuboCop
run: bin/rubocop --parallel
- name: Scan for common Rails security vulnerabilities using static analysis
run: bin/brakeman --no-pager
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Install JavaScript packages
run: bun install --frozen-lockfile
- name: Lint with ESLint
run: bun run lint
- name: Compile assets
run: bin/rails assets:precompile
- name: Run Tests
run: |
bundle exec rake db:prepare
bundle exec rake test
bundle exec rake test:system
docker-build:
runs-on: ${{ matrix.runner }}
if: github.ref == 'refs/heads/master'
needs: test
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
include:
- platform: linux/amd64
runner: ubuntu-24.04
- platform: linux/arm64
runner: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Fetch tag annotations
# https://github.com/actions/checkout/issues/290
run: git fetch --tags --force
- name: Set platform pair
run: echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
env:
platform: ${{ matrix.platform }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v6
with:
images: ghcr.io/ledermann/pingcrm
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Login to GitHub Container Registry
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set ENV values
run: |
echo "COMMIT_TIME=$(git show -s --format=%cI $GITHUB_SHA)" >> $GITHUB_ENV
echo "COMMIT_VERSION=$(git describe --always)" >> $GITHUB_ENV
- name: Build and push by digest
id: build
uses: docker/build-push-action@v7
with:
context: .
platforms: ${{ matrix.platform }}
provenance: false
labels: ${{ steps.meta.outputs.labels }}
build-args: |
COMMIT_SHA=${{ github.sha }}
COMMIT_TIME=${{ env.COMMIT_TIME }}
COMMIT_VERSION=${{ env.COMMIT_VERSION }}
COMMIT_BRANCH=${{ github.head_ref || github.ref_name }}
outputs: type=image,name=ghcr.io/ledermann/pingcrm,push-by-digest=true,name-canonical=true,push=true
cache-from: type=gha,scope=${{ env.PLATFORM_PAIR }},ignore-error=true
cache-to: type=gha,mode=max,scope=${{ env.PLATFORM_PAIR }}
- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v7
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1
docker-push:
runs-on: ubuntu-24.04
if: github.ref == 'refs/heads/master'
needs: docker-build
permissions:
packages: write
steps:
- name: Download digests
uses: actions/download-artifact@v8
with:
path: /tmp/digests
pattern: digests-*
merge-multiple: true
- name: Login to GitHub Container Registry
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v6
with:
images: ghcr.io/ledermann/pingcrm
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'master') }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON")
images=$(printf 'ghcr.io/ledermann/pingcrm@sha256:%s ' *)
docker buildx imagetools create $tags $images
- name: Inspect image
run: docker buildx imagetools inspect ghcr.io/ledermann/pingcrm:${{ steps.meta.outputs.version }}
- name: Send webhook to start deployment
env:
DEPLOY_HOOK: ${{ secrets.DEPLOY_HOOK }}
if: env.DEPLOY_HOOK != null
run: curl -X POST ${{ env.DEPLOY_HOOK }}