This repository has been archived by the owner on Jul 8, 2024. It is now read-only.
⚙️ Build Strace 📦 #249
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: ⚙️ Build Strace 📦 | |
#MAX_RUNTIME: | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "15 18 * * *" # 12:00 AM Nepal Time Midnight EveryDay | |
env: | |
GITHUB_TOKEN: ${{ secrets.STATIC_TOOLBOX }} | |
jobs: | |
#------------------------------------------------------------------------------------# | |
build-x86: | |
name: Build strace x86 | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:i686-linux-musl | |
outputs: | |
version: ${{ steps.build_strace.outputs.PACKAGED_VERSION }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh | |
- name: Install testing dependencies | |
run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl | |
- name: Install build compiler | |
run: /bin/sh -c "apk update && apk upgrade && apk add --no-cache curl rsync sudo util-linux && cd / && curl -so ${ARCH}-cross.tgz ${HOST}/${ARCH}-cross.tgz && tar -xf ${ARCH}-cross.tgz && rm ${ARCH}-cross.tgz && cd ${ARCH}-cross" | |
env: | |
ARCH: x86_64-linux-musl | |
HOST: http://musl.cc/ | |
TEMP: /tmp | |
USER: 0 | |
- name: Build strace | |
id: build_strace | |
run: $GITHUB_WORKSPACE/build/targets/build_strace.sh x86 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.build_strace.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_strace.outputs.PACKAGED_NAME_PATH }} | |
#------------------------------------------------------------------------------------# | |
build-x86_64: | |
name: Build strace x86_64 | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:x86_64-linux-musl | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh | |
- name: Install testing dependencies | |
run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl | |
- name: Build strace | |
id: build_strace | |
run: $GITHUB_WORKSPACE/build/targets/build_strace.sh x86_64 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.build_strace.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_strace.outputs.PACKAGED_NAME_PATH }} | |
#------------------------------------------------------------------------------------# | |
build-armhf: | |
name: Build strace ARMHF | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:arm-linux-musleabihf | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh | |
- name: Install testing dependencies | |
run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl | |
- name: Install build compiler | |
run: /bin/sh -c "apk update && apk upgrade && apk add --no-cache curl rsync sudo util-linux && cd / && curl -so ${ARCH}-cross.tgz ${HOST}/${ARCH}-cross.tgz && tar -xf ${ARCH}-cross.tgz && rm ${ARCH}-cross.tgz && cd ${ARCH}-cross" | |
env: | |
ARCH: x86_64-linux-musl | |
HOST: http://musl.cc/ | |
TEMP: /tmp | |
USER: 0 | |
- name: Build strace | |
id: build_strace | |
run: $GITHUB_WORKSPACE/build/targets/build_strace.sh armhf | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.build_strace.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_strace.outputs.PACKAGED_NAME_PATH }} | |
#------------------------------------------------------------------------------------# | |
build-aarch64: | |
name: Build strace AARCH64 | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:aarch64-linux-musl | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh | |
- name: Install testing dependencies | |
run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl | |
- name: Install build compiler | |
run: /bin/sh -c "apk update && apk upgrade && apk add --no-cache curl rsync sudo util-linux && cd / && curl -so ${ARCH}-cross.tgz ${HOST}/${ARCH}-cross.tgz && tar -xf ${ARCH}-cross.tgz && rm ${ARCH}-cross.tgz && cd ${ARCH}-cross" | |
env: | |
ARCH: x86_64-linux-musl | |
HOST: http://musl.cc/ | |
TEMP: /tmp | |
USER: 0 | |
- name: Build strace | |
id: build_strace | |
run: $GITHUB_WORKSPACE/build/targets/build_strace.sh aarch64 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.build_strace.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_strace.outputs.PACKAGED_NAME_PATH }} | |
#------------------------------------------------------------------------------------# | |
create-release: | |
name: Create strace Release | |
runs-on: ubuntu-latest | |
needs: [build-x86, build-x86_64, build-armhf, build-aarch64] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
run: | | |
mkdir /tmp/releases | |
- name: Download Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: /tmp/releases | |
- name: List Artifacts | |
run: ls -laR /tmp/releases | |
- name: Tag Release | |
id: tag_release | |
run: | | |
set +e | |
if git rev-list "strace-v${{ needs.build-x86.outputs.version }}".. >/dev/null;then | |
echo "Tag for strace-v${{ needs.build-x86.outputs.version }} already exists. Skipping release creation." | |
echo "NEW_RELEASE=false" >> $GITHUB_OUTPUT | |
else | |
git tag "strace-v${{ needs.build-x86.outputs.version }}" | |
git push origin "strace-v${{ needs.build-x86.outputs.version }}" | |
echo "NEW_RELEASE=true" >> $GITHUB_OUTPUT | |
fi | |
#------------------------------------------------------------------------------------# | |
- name: Releaser | |
uses: softprops/action-gh-release@v0.1.15 | |
#if: ${{ steps.tag_release.outputs.NEW_RELEASE == 'true' }} | |
with: | |
name: "Strace v${{ needs.build-x86.outputs.version }}" | |
tag_name: "strace-v${{ needs.build-x86.outputs.version }}" | |
prerelease: false | |
draft: false | |
generate_release_notes: false | |
token: "${{ secrets.GITHUB_TOKEN }}" | |
body: | | |
`Changelog`: _https://github.com/strace/strace/releases/tag/v${{ needs.build-x86.outputs.version }}_ | |
`Install`: _https://github.com/Azathothas/static-toolbox/blob/master/README.md#strace_ | |
files: | | |
/tmp/releases/*/* | |
#------------------------------------------------------------------------------------# |