Skip to content

Commit

Permalink
ci: add build toolchain and project on mac
Browse files Browse the repository at this point in the history
Add toolchain build workflow to build toolchain on macos host. It is
triggered by workflow dispatch event.
Add nightly build every 24 hours at 2 AM UTC+1 of ia32-generic-qemu
target on macos host.
Disable Azure SDK port on ia32-generic-qemu target due to compile
errors.

JIRA: CI-158
  • Loading branch information
Jakub Sarzyński committed Feb 10, 2023
1 parent c49b86e commit 124219c
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 1 deletion.
35 changes: 35 additions & 0 deletions .github/workflows/build-toolchain.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Build toolchain

on:
workflow_dispatch:

jobs:
build-macos:
name: build-macos-toolchain
runs-on: macos-12
steps:
- name: Checkout the repository
uses: actions/checkout@v3
with:
submodules: recursive

- name: Install denependecies
run: |
brew install bash coreutils autoconf automake genext2fs make wget gnu-sed
echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
echo "$(brew --prefix gnu-sed)/libexec/gnubin" >> $GITHUB_PATH
- name: Build toolchain
run: |
mkdir ~/toolchain-macos-i386
git rev-parse --short HEAD > ~/toolchain-macos-i386/git-version
cd phoenix-rtos-build/toolchain/
./build-toolchain.sh i386-pc-phoenix $HOME/toolchain-macos-i386/
rm -rf ~/toolchain-macos-i386/*.patch ~/toolchain-macos-i386/binutils-* ~/toolchain-macos-i386/gcc-*
tar -C $HOME -cvf ~/toolchain-macos-i386.tar toolchain-macos-i386
- name: Upload toolchain artifacts
uses: actions/upload-artifact@v3
with:
name: toolchain-macos-i386
path: ~/toolchain-macos-i386.tar
59 changes: 59 additions & 0 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Nightly

on:
schedule:
- cron: '0 1 * * *' # everyday at 02:00 UTC+1
workflow_dispatch:

jobs:
build-macos:
name: build-macos
runs-on: macos-12
outputs:
build_result: ${{ steps.build.outcome }}
strategy:
matrix:
target: ['ia32-generic-qemu']
include:
- target: 'ia32-generic-qemu'
syspage: 'psh pc-ata uart16550'
steps:
- name: Install denependecies
run: |
brew install bash coreutils autoconf automake genext2fs make wget gnu-sed
echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
echo "$(brew --prefix gnu-sed)/libexec/gnubin" >> $GITHUB_PATH
- name: Download toolchain
uses: dawidd6/action-download-artifact@v2
with:
workflow: build-toolchain.yml
path: /Users/runner

- name: Install toolchain
working-directory: /Users/runner/toolchain-macos-i386
run: |
tar -xvf toolchain-macos-i386.tar
echo "$(pwd)/toolchain-macos-i386/i386-pc-phoenix/bin" >> $GITHUB_PATH
- name: Checkout the repository
uses: actions/checkout@v3
with:
submodules: recursive

- name: Build
run: |
TARGET=ia32-generic-qemu ./phoenix-rtos-build/build.sh clean all tests
- name: Tar rootfs
working-directory: _fs
run: tar -cvf ../rootfs-${{ matrix.target }}.tar ${{ matrix.target }}/root

- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
name: phoenix-rtos-${{ matrix.target }}-macos-host
path: |
_boot/${{ matrix.target }}
rootfs-${{ matrix.target }}.tar
2 changes: 1 addition & 1 deletion _projects/ia32-generic-qemu/build.project
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# Ports configuration - additional to the one from _targets
#
export PORTS_MBEDTLS=y
export PORTS_AZURE_SDK=y
export PORTS_AZURE_SDK=n # FIXME compiling on mac doesn't work


b_image_project () {
Expand Down

0 comments on commit 124219c

Please sign in to comment.