-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: add build toolchain and project on mac
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
Mar 13, 2023
1 parent
23a4312
commit 267ae6c
Showing
2 changed files
with
93 additions
and
0 deletions.
There are no files selected for viewing
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
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 | ||
git rev-parse --short HEAD > ~/toolchain/git-version | ||
cd phoenix-rtos-build/toolchain/ | ||
./build-toolchain.sh i386-pc-phoenix "$HOME"/toolchain/ | ||
# upload/download-artifact action don't preserve permissions and compresses to zip. Pack to archive and don't compress. | ||
tar -C ~/toolchain -cvf ~/i386-pc-phoenix-macos.tar i386-pc-phoenix git-version | ||
- name: Upload toolchain artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: i386-pc-phoenix-macos | ||
path: ~/i386-pc-phoenix-macos.tar |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
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 | ||
strategy: | ||
matrix: | ||
target: [ia32-generic-qemu] | ||
include: | ||
- toolchain: i386-pc-phoenix | ||
|
||
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: Download toolchain | ||
# TODO: download from github packages/releases | ||
uses: dawidd6/action-download-artifact@v2 | ||
with: | ||
workflow: build-toolchain.yml | ||
|
||
- name: Install toolchain | ||
working-directory: ${{ matrix.toolchain }}-macos | ||
run: | | ||
tar -xvf ${{ matrix.toolchain }}-macos.tar | ||
echo "$(pwd)"/${{ matrix.toolchain }}/bin >> $GITHUB_PATH | ||
- name: Build | ||
run: ./phoenix-rtos-build/build.sh all tests | ||
env: | ||
TARGET: ${{ matrix.target }} | ||
|
||
- 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 | ||