Skip to content

build

build #34

Workflow file for this run

name: build
on:
workflow_dispatch:
schedule:
# build weekly to find breakage
- cron: '13 1 * * 6'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
env:
DISTRIBUTION: ubuntu
DEB_DISTRO: jammy
BRANCH: jammy-one-unstable
JOBS_YAML: /home/runner/jobs.yaml
AGG: /home/runner/apt_repo_dependencies
jobs:
stage-1:
runs-on: ubuntu-24.04
outputs:
workers: ${{ steps.prepare.outputs.workers }}
steps:
- name: Check out the repo
uses: actions/checkout@v4
- name: Prepare Pipeline
id: prepare
uses: ./.github/actions/prepare-worker-pipeline
- name: rosdep keys
shell: bash
run: |
cat ${{ env.AGG }}/local.yaml
- name: jobs
shell: bash
run: |
cat ${{ env.JOBS_YAML }}
stage0-worker0:
uses: ./.github/workflows/worker.yaml
if: (always() && !cancelled()) && contains( needs.stage-1.outputs.workers, 'stage0-worker0' )
needs: stage-1
with:
worker: stage0-worker0
depends: stage-1
stage0:
uses: ./.github/workflows/aggregate-debs.yaml
if: always() && !cancelled()
needs: [stage0-worker0, ]
with:
stage: 0
stage1-worker0:
uses: ./.github/workflows/worker.yaml
if: (always() && !cancelled()) && contains( needs.stage-1.outputs.workers, 'stage1-worker0' )
needs: stage0
with:
worker: stage1-worker0
depends: stage0
stage1-worker1:
uses: ./.github/workflows/worker.yaml
if: (always() && !cancelled()) && contains( needs.stage-1.outputs.workers, 'stage1-worker1' )
needs: stage0
with:
worker: stage1-worker1
depends: stage0
stage1-worker2:
uses: ./.github/workflows/worker.yaml
if: (always() && !cancelled()) && contains( needs.stage-1.outputs.workers, 'stage1-worker2' )
needs: stage0
with:
worker: stage1-worker2
depends: stage0
stage1-worker3:
uses: ./.github/workflows/worker.yaml
if: (always() && !cancelled()) && contains( needs.stage-1.outputs.workers, 'stage1-worker3' )
needs: stage0
with:
worker: stage1-worker3
depends: stage0
stage1-worker4:
uses: ./.github/workflows/worker.yaml
if: (always() && !cancelled()) && contains( needs.stage-1.outputs.workers, 'stage1-worker4' )
needs: stage0
with:
worker: stage1-worker4
depends: stage0
stage1-worker5:
uses: ./.github/workflows/worker.yaml
if: (always() && !cancelled()) && contains( needs.stage-1.outputs.workers, 'stage1-worker5' )
needs: stage0
with:
worker: stage1-worker5
depends: stage0
stage1-worker6:
uses: ./.github/workflows/worker.yaml
if: (always() && !cancelled()) && contains( needs.stage-1.outputs.workers, 'stage1-worker6' )
needs: stage0
with:
worker: stage1-worker6
depends: stage0
stage1-worker7:
uses: ./.github/workflows/worker.yaml
if: (always() && !cancelled()) && contains( needs.stage-1.outputs.workers, 'stage1-worker7' )
needs: stage0
with:
worker: stage1-worker7
depends: stage0
stage1-worker8:
uses: ./.github/workflows/worker.yaml
if: (always() && !cancelled()) && contains( needs.stage-1.outputs.workers, 'stage1-worker8' )
needs: stage0
with:
worker: stage1-worker8
depends: stage0
stage1-worker9:
uses: ./.github/workflows/worker.yaml
if: (always() && !cancelled()) && contains( needs.stage-1.outputs.workers, 'stage1-worker9' )
needs: stage0
with:
worker: stage1-worker9
depends: stage0
stage1:
uses: ./.github/workflows/aggregate-debs.yaml
if: always() && !cancelled()
needs: [stage1-worker0, stage1-worker1, stage1-worker2, stage1-worker3, stage1-worker4, stage1-worker5, stage1-worker6, stage1-worker7, stage1-worker8, stage1-worker9, ]
with:
stage: 1
deploy:
needs: stage1
if: always() && !cancelled()
runs-on: ubuntu-24.04
steps:
- name: get apt packages from last job
uses: actions/cache/restore@v4
with:
path: ${{ env.AGG }}
key: apt-repo-stage1-${{ github.sha }}-${{ github.run_id }}-${{ github.run_attempt }}
restore-keys: |
apt-repo-stage18-${{ github.sha }}-${{ github.run_id }}
- name: move packages to repo
run: |
mv ${{ env.AGG }} /home/runner/apt_repo
- uses: k-okada/ros-deb-builder-action/deploy@use_ssh
with:
BRANCH: ${{ env.BRANCH }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SSH_PRIVATE_KEY: ${{ secrets.DEPLOY_PRIVATE_KEY }}
SQUASH_HISTORY: true