Make everything compile for Linux #3
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
name: Linux | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build-x86_64: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Get Submodules | |
run: git submodule update --init --recursive | |
- name: Setup latest Alpine Linux | |
id: alpine-target | |
uses: jirutka/setup-alpine@v1 | |
with: | |
packages: > | |
build-base | |
git | |
linux-headers | |
ninja | |
- name: Build in Alpine chroot | |
run: | | |
cd /home/runner/work/Kongruent/Kongruent | |
git clone --depth 1 https://github.com/Kode/KincTools_linux_x64.git KincTools | |
./KincTools/kmake --compile | |
shell: alpine.sh --root {0} | |
- name: Get KincTools_linux_x64 | |
run: git clone https://github.com/Kode/KincTools_linux_x64.git | |
- name: Copy binary | |
run: cp /home/runner/work/Kongruent/Kongruent/build/Release/kongruent KincTools_linux_x64/kongruent | |
- name: Set name | |
run: git config --global user.name "Robbot" | |
- name: Set email | |
run: git config --global user.email "[email protected]" | |
- name: Commit binary | |
id: commit | |
continue-on-error: true | |
run: git -C KincTools_linux_x64 commit -a -m "Update kong binary to $GITHUB_SHA." | |
- name: Tag binary | |
if: steps.commit.outcome == 'success' | |
run: git -C KincTools_linux_x64 tag kong_$GITHUB_SHA | |
- name: Push binary | |
id: push1 | |
if: steps.commit.outcome == 'success' | |
continue-on-error: true | |
run: git -C KincTools_linux_x64 push https://Kode-Robbot:[email protected]/Kode/KincTools_linux_x64.git main --tags | |
env: | |
ROBBOT_PASS: ${{ secrets.ROBBOT_PASS }} | |
- name: Pull | |
if: steps.commit.outcome == 'success' && steps.push1.outcome != 'success' | |
run: git -C KincTools_linux_x64 pull --no-rebase | |
- name: Push binary again | |
if: steps.commit.outcome == 'success' && steps.push1.outcome != 'success' | |
continue-on-error: true | |
run: git -C KincTools_linux_x64 push https://Kode-Robbot:[email protected]/Kode/KincTools_linux_x64.git main --tags | |
env: | |
ROBBOT_PASS: ${{ secrets.ROBBOT_PASS }} | |
build-aarch64: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Get Submodules | |
run: git submodule update --init --recursive | |
- name: Setup latest Alpine Linux | |
uses: jirutka/setup-alpine@v1 | |
with: | |
packages: > | |
build-base | |
wget | |
linux-headers | |
git | |
ninja | |
- name: Build in Alpine chroot | |
run: | | |
cd /home/runner/work | |
mkdir aarch64 | |
wget -qO - https://more.musl.cc/11.2.1/x86_64-linux-musl/aarch64-linux-musl-cross.tgz | gunzip | tar xfp - -C ./aarch64 | |
export PATH=$PATH:/home/runner/work/aarch64/aarch64-linux-musl-cross/bin:/home/runner/work/aarch64/aarch64-linux-musl-cross/include:/home/runner/work/aarch64/aarch64-linux-musl-cross/lib | |
cd /home/runner/work/Kongruent/Kongruent | |
git clone --depth 1 https://github.com/Kode/KincTools_linux_x64.git KincTools | |
./KincTools/kmake --compile --cc aarch64-linux-musl-gcc --cxx aarch64-linux-musl-g++ | |
shell: alpine.sh --root {0} | |
- name: Get KincTools_linux_arm64 | |
run: git clone https://github.com/Kode/KincTools_linux_arm64.git | |
- name: Copy binary | |
run: cp /home/runner/work/Kongruent/Kongruent/build/Release/kongruent KincTools_linux_arm64/kongruent | |
- name: Set name | |
run: git config --global user.name "Robbot" | |
- name: Set email | |
run: git config --global user.email "[email protected]" | |
- name: Commit binary | |
id: commit | |
continue-on-error: true | |
run: | | |
git -C KincTools_linux_arm64 commit -a -m "Update kong_arm64 binary to $GITHUB_SHA." | |
- name: Tag binary | |
if: steps.commit.outcome == 'success' | |
run: git -C KincTools_linux_arm64 tag linux_arm64_kong_$GITHUB_SHA | |
- name: Push binary | |
id: push1 | |
if: steps.commit.outcome == 'success' | |
continue-on-error: true | |
run: git -C KincTools_linux_arm64 push https://Kode-Robbot:[email protected]/Kode/KincTools_linux_arm64.git main --tags | |
env: | |
ROBBOT_PASS: ${{ secrets.ROBBOT_PASS }} | |
- name: Pull | |
if: steps.commit.outcome == 'success' && steps.push1.outcome != 'success' | |
run: git -C KincTools_linux_arm64 pull --no-rebase | |
- name: Push binary again | |
if: steps.commit.outcome == 'success' && steps.push1.outcome != 'success' | |
continue-on-error: true | |
run: git -C KincTools_linux_arm64 push https://Kode-Robbot:[email protected]/Kode/KincTools_linux_arm64.git main --tags | |
env: | |
ROBBOT_PASS: ${{ secrets.ROBBOT_PASS }} | |
build-armv7l: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Get Submodules | |
run: git submodule update --init --recursive | |
- name: Setup latest Alpine Linux | |
uses: jirutka/setup-alpine@v1 | |
with: | |
packages: > | |
build-base | |
wget | |
linux-headers | |
git | |
ninja | |
- name: Build in Alpine chroot | |
run: | | |
cd /home/runner/work | |
mkdir armv7l | |
wget -qO - https://musl.cc/armv7l-linux-musleabihf-cross.tgz | gunzip | tar xfp - -C ./armv7l | |
export PATH=$PATH:/home/runner/work/armv7l/armv7l-linux-musleabihf-cross/bin:/home/runner/work/armv7l/armv7l-linux-musleabihf-cross/include:/home/runner/work/armv7l/armv7l-linux-musleabihf-cross/lib | |
cd /home/runner/work/Kongruent/Kongruent | |
git clone --depth 1 https://github.com/Kode/KincTools_linux_x64.git KincTools | |
./KincTools/kmake --compile --cc armv7l-linux-musleabihf-gcc --cxx armv7l-linux-musleabihf-g++ | |
shell: alpine.sh --root {0} | |
- name: Get KincTools_linux_arm | |
run: git clone https://github.com/Kode/KincTools_linux_arm.git | |
- name: Copy binary | |
run: cp /home/runner/work/Kongruent/Kongruent/build/Release/kongruent KincTools_linux_arm/kongruent | |
- name: Set name | |
run: git config --global user.name "Robbot" | |
- name: Set email | |
run: git config --global user.email "[email protected]" | |
- name: Commit binary | |
id: commit | |
continue-on-error: true | |
run: | | |
git -C KincTools_linux_arm commit -a -m "Update kong_arm binary to $GITHUB_SHA." | |
- name: Tag binary | |
if: steps.commit.outcome == 'success' | |
run: git -C KincTools_linux_arm tag linux_arm_kong_$GITHUB_SHA | |
- name: Push binary | |
id: push1 | |
if: steps.commit.outcome == 'success' | |
continue-on-error: true | |
run: git -C KincTools_linux_arm push https://Kode-Robbot:[email protected]/Kode/KincTools_linux_arm.git main --tags | |
env: | |
ROBBOT_PASS: ${{ secrets.ROBBOT_PASS }} | |
- name: Pull | |
if: steps.commit.outcome == 'success' && steps.push1.outcome != 'success' | |
run: git -C KincTools_linux_arm pull --no-rebase | |
- name: Push binary again | |
if: steps.commit.outcome == 'success' && steps.push1.outcome != 'success' | |
continue-on-error: true | |
run: git -C KincTools_linux_arm push https://Kode-Robbot:[email protected]/Kode/KincTools_linux_arm.git main --tags | |
env: | |
ROBBOT_PASS: ${{ secrets.ROBBOT_PASS }} |