Skip to content

Commit

Permalink
new build
Browse files Browse the repository at this point in the history
  • Loading branch information
klaxalk committed Aug 12, 2023
1 parent 09e64c0 commit 7d9440e
Show file tree
Hide file tree
Showing 2 changed files with 214 additions and 107 deletions.
214 changes: 214 additions & 0 deletions .github/workflows/unstable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,214 @@
name: unstable_amd64_build

on:
push:
branches: [ matrix ]

workflow_dispatch:

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

jobs:

generate-jobs:
runs-on: ubuntu-20.04
outputs:
job-strategy-matrix: ${{ steps.generate.outputs.job-strategy-matrix }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Checkout CI scripts
uses: actions/checkout@v3
with:
repository: ctu-mrs/ci_scripts
ref: master
path: .ci_scripts
token: ${{ secrets.PUSH_TOKEN }}
- id: generate
run: |
JOB_STRATEGY_MATRIX=$(./.ci/get_build_matrix.sh unstable amd64)
echo "::set-output name=job-strategy-matrix::$JOB_STRATEGY_MATRIX"
###### AMD64

init-artifacts-amd:
runs-on: ubuntu-20.04
needs: generate-jobs
steps:
- id: execute
run: |
mkdir -p /tmp/artifacts
touch /tmp/artifacts/test.yaml
- name: Save artifacts
uses: actions/upload-artifact@v3
with:
name: artifacts_amd
path: /tmp/artifacts/

build-job-amd:
needs: init-artifacts-amd
runs-on: ubuntu-20.04
timeout-minutes: 360 # 6 hour timeout
strategy:
matrix:
job: ${{ fromJson(needs.generate-job-strategy-matrix.outputs.job-strategy-matrix) }}
max-parallel: 1 # Run jobs serially
steps:
- name: Load artifacts
uses: actions/download-artifact@v3
with:
name: artifacts_amd
path: /tmp/artifacts/
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Checkout CI scripts
uses: actions/checkout@v3
with:
repository: ctu-mrs/ci_scripts
ref: master
path: .ci_scripts
token: ${{ secrets.PUSH_TOKEN }}
- id: build
run: |
.ci/build.sh unstable "${{ matrix.job }}"
- name: Save artifacts
uses: actions/upload-artifact@v3
with:
name: artifacts_amd
path: /tmp/artifacts/

collect_amd_artifacts:
runs-on: ubuntu-20.04
needs: build-job-amd
env:
PUSH_TOKEN: ${{ secrets.PUSH_TOKEN }}
steps:
- name: Load artifacts
uses: actions/download-artifact@v3
with:
name: artifacts_amd
path: /tmp/artifacts/
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Checkout CI scripts
uses: actions/checkout@v3
with:
repository: ctu-mrs/ci_scripts
ref: master
path: .ci_scripts
token: ${{ secrets.PUSH_TOKEN }}
- name: Deploy
run: .ci_scripts/package_build/push_to_ppa.sh unstable /tmp/artifacts

###### ARM64

init-artifacts-arm:
runs-on: ubuntu-20.04
needs: generate-jobs
steps:
- id: execute
run: |
mkdir -p /tmp/artifacts
touch /tmp/artifacts/test.yaml
- name: Save artifacts
uses: actions/upload-artifact@v3
with:
name: artifacts_arm
path: /tmp/artifacts/

build-job-arm:
needs: init-artifacts-arm
runs-on: ubuntu-20.04
timeout-minutes: 360 # 6 hour timeout
strategy:
matrix:
job: ${{ fromJson(needs.generate-job-strategy-matrix.outputs.job-strategy-matrix) }}
max-parallel: 1 # Run jobs serially
steps:
- name: Load artifacts
uses: actions/download-artifact@v3
with:
name: artifacts_arm
path: /tmp/artifacts/
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Checkout CI scripts
uses: actions/checkout@v3
with:
repository: ctu-mrs/ci_scripts
ref: master
path: .ci_scripts
token: ${{ secrets.PUSH_TOKEN }}
- uses: uraimo/run-on-arch-action@v2
name: build

id: build

with:
arch: aarch64
distro: ubuntu-20.04

githubToken: ${{ github.token }}

install: |
apt-get update -y
apt-get install -y sudo git curl
echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections
# Create an artifacts directory
setup: |
mkdir -p "/tmp/artifacts"
mkdir -p "/tmp/repository"
# Mount the artifacts directory as /artifacts in the container
dockerRunArgs: |
--volume "$PWD:/tmp/repository"
--volume "/tmp/artifacts:/tmp/artifacts"
# The shell to run commands with in the container
shell: /bin/sh

# Produce a binary artifact and place it in the mounted volume
run: |
/tmp/repository/.ci/build.sh unstable "${{ matrix.job }}"
- name: Save artifacts
uses: actions/upload-artifact@v3
with:
name: artifacts_arm
path: /tmp/artifacts/

collect-artifacts-arm:
runs-on: ubuntu-20.04
needs: build-job-arm
env:
PUSH_TOKEN: ${{ secrets.PUSH_TOKEN }}
steps:
- name: Load artifacts
uses: actions/download-artifact@v3
with:
name: artifacts_arm
path: /tmp/artifacts/
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Checkout CI scripts
uses: actions/checkout@v3
with:
repository: ctu-mrs/ci_scripts
ref: master
path: .ci_scripts
token: ${{ secrets.PUSH_TOKEN }}
- name: Deploy
run: .ci_scripts/package_build/push_to_ppa.sh unstable /tmp/artifacts
107 changes: 0 additions & 107 deletions .github/workflows/unstable_amd64.yml

This file was deleted.

0 comments on commit 7d9440e

Please sign in to comment.