Skip to content

Implement new CI based on github actions #95

Implement new CI based on github actions

Implement new CI based on github actions #95

Workflow file for this run

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 visualstudiobuildtools
choco install -y visualstudio-workload-vctools
dir "%ProgramFiles%\Microsoft Visual Studio\2022\VC"
dir "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\VC"
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