Implement new CI based on github actions #86
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
on: push | |
name: Kryptos CI | |
jobs: | |
Linux-GCC: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Clone kryptos repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Install basic tools | |
shell: bash | |
run: sh src/build/ci/linux/install-basic-tools.sh | |
- name: Install Hefesto | |
shell: bash | |
run: sh src/build/ci/linux/install-hefesto.sh | |
- name: Run kryptos forge (GCC) | |
shell: bash | |
run: | | |
cd src | |
sudo -E hefesto --mk-samples --toolset=gcc | |
Linux-Clang: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Clone kryptos repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Install basic tools | |
shell: bash | |
run: sh src/build/ci/linux/install-basic-tools.sh | |
- name: Install Hefesto | |
shell: bash | |
run: sh src/build/ci/linux/install-hefesto.sh | |
- name: Run kryptos forge (Clang) | |
shell: bash | |
run: | | |
cd src | |
sudo -E hefesto --mk-samples --toolset=clang | |
FreeBSD-Clang: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: FreeBSD Forge | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
sync: rsync | |
copyback: false | |
prepare: | | |
pkg install -y sudo git llvm | |
usesh: true | |
run: | | |
. src/build/ci/freebsd/install-hefesto.sh | |
cd src | |
sudo -E hefesto --mk-samples --toolset=clang | |
cd .. && sudo rm -rf kryptos | |
FreeBSD-GCC: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: FreeBSD Forge | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
sync: rsync | |
copyback: false | |
prepare: | | |
pkg install -y sudo git lang/gcc | |
usesh: true | |
run: | | |
. src/build/ci/freebsd/install-hefesto.sh | |
cd src | |
sudo -E hefesto --mk-samples --toolset=gcc | |
cd .. && sudo rm -rf kryptos | |
NetBSD-GCC: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: NetBSD Forge | |
uses: vmactions/netbsd-vm@v1 | |
with: | |
sync: rsync | |
copyback: false | |
prepare: | | |
/usr/sbin/pkg_add sudo git gcc* | |
shell: bash | |
run: | | |
. src/build/ci/netbsd/install-hefesto.sh | |
cd src | |
sudo -E hefesto --mk-samples --toolset=gcc | |
cd .. && sudo rm -rf kryptos | |
NetBSD-Clang: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: NetBSD Forge | |
uses: vmactions/netbsd-vm@v1 | |
with: | |
sync: rsync | |
copyback: false | |
prepare: | | |
/usr/sbin/pkg_add sudo git clang* | |
shell: bash | |
run: | | |
. src/build/ci/netbsd/install-hefesto.sh | |
cd src | |
sudo -E hefesto --mk-samples --toolset=clang | |
cd .. && sudo rm -rf kryptos | |
OpenBSD-Clang: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: OpenBSD Forge | |
uses: vmactions/openbsd-vm@v1 | |
with: | |
sync: rsync | |
copyback: false | |
prepare: | | |
pkg_add sudo-1.9.15.5p0 git-2.46.1 llvm-17.0.6p12 | |
usesh: true | |
run: | | |
. src/build/ci/netbsd/install-hefesto.sh | |
cd src | |
sudo -E hefesto --mk-samples --toolset=clang | |
cd .. && sudo rm -rf kryptos | |
OpenBSD-GCC: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: OpenBSD Forge | |
uses: vmactions/openbsd-vm@v1 | |
with: | |
sync: rsync | |
copyback: false | |
prepare: | | |
pkg_add sudo-1.9.15.5p0 git-2.46.1 gcc-11.2.0p14 gcc-libs-11.2.0p14 | |
usesh: true | |
run: | | |
. src/build/ci/netbsd/install-hefesto.sh | |
ln -sf `which egcc` /usr/bin/gcc | |
cd src | |
sudo -E hefesto --mk-samples --toolset=gcc | |
cd .. && sudo rm -rf kryptos | |
Windows-GCC: | |
runs-on: windows-latest | |
steps: | |
- name: Clone kryptos repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Install Hefesto | |
shell: cmd | |
run: | | |
src\build\ci\windows\install-hefesto.bat && RefreshEnv.cmd && hefesto --version | |
- name: Run kryptos forge | |
shell: cmd | |
run: | | |
RefreshEnv.cmd && cd src && hefesto --toolset=gcc --mk-samples | |
Windows-MSVC: | |
runs-on: windows-latest | |
steps: | |
- name: Clone kryptos repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Install Hefesto | |
shell: cmd | |
run: | | |
src\build\ci\windows\install-hefesto.bat && RefreshEnv.cmd && hefesto --version | |
- name: Run kryptos forge | |
shell: cmd | |
run: | | |
choco install -y visualstudio2022buildtools --package-parameters "--includeRecommended --includeOptional --add Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64 --passive --locale en-US" | |
choco install -y visualstudio2022-workloads-vctools --package-parameters "--includeRecommended --add Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64 --passive" | |
RefreshEnv.cmd && cd src && hefesto --toolset=msvc --mk-samples | |
# Windows-Clang: | |
# runs-on: windows-latest | |
# steps: | |
# - name: Clone kryptos repo | |
# uses: actions/checkout@v3 | |
# with: | |
# submodules: true | |
# - name: Install Hefesto | |
# shell: cmd | |
# run: | | |
# src\build\ci\windows\install-hefesto.bat && RefreshEnv.cmd && hefesto --version | |
# - name: Run kryptos forge | |
# shell: cmd | |
# run: | | |
# RefreshEnv.cmd && cd src && hefesto --toolset=clang --mk-samples |