Skip to content

Make everything compile for Linux #3

Make everything compile for Linux

Make everything compile for Linux #3

Workflow file for this run

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 }}