build #34
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |