socat #9
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: socat | |
on: | |
workflow_dispatch | |
jobs: | |
build-x86: | |
name: Build socat x86 | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:i686-linux-musl | |
outputs: | |
version: ${{ steps.build_socat.outputs.PACKAGED_VERSION }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- 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 socat | |
id: build_socat | |
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh x86 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} | |
build-x86_64: | |
name: Build socat x86_64 | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:x86_64-linux-musl | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- 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 socat | |
id: build_socat | |
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh x86_64 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} | |
build-armhf: | |
name: Build socat ARMHF | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:arm-linux-musleabihf | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- 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 socat | |
id: build_socat | |
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh armhf | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} | |
build-aarch64: | |
name: Build socat AARCH64 | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:aarch64-linux-musl | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- 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 socat | |
id: build_socat | |
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh aarch64 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} | |
build-ppc32: | |
name: Build socat powerpc32 | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:powerpc-linux-musl | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- 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 socat | |
id: build_socat | |
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh ppc32 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} | |
build-ppc64: | |
name: Build socat powerpc64 | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:powerpc64-linux-musl | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- 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 socat | |
id: build_socat | |
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh ppc64 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }} | |
create-release: | |
name: Create socat Release | |
runs-on: ubuntu-latest | |
needs: [build-x86, build-x86_64, build-armhf, build-aarch64, build-ppc32, build-ppc64] | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Prepare Environment | |
run: mkdir /tmp/releases | |
- name: Download Artifacts | |
uses: actions/download-artifact@v2 | |
with: | |
path: /tmp/releases | |
- name: List Artifacts | |
run: ls -laR /tmp/releases | |
- name: Fetch tags | |
run: git fetch --tags --prune --quiet | |
- name: Tag Release | |
id: tag_release | |
run: | | |
set +e | |
if git rev-list "socat-v${{ needs.build-x86.outputs.version }}" >/dev/null;then | |
echo "Tag for socat-v${{ needs.build-x86.outputs.version }} already exists. Skipping release creation." | |
echo "NEW_RELEASE=false" >> $GITHUB_OUTPUT | |
else | |
git tag "socat-v${{ needs.build-x86.outputs.version }}" | |
git push origin "socat-v${{ needs.build-x86.outputs.version }}" | |
echo "NEW_RELEASE=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Create Release | |
uses: ncipollo/release-action@v1 | |
if: ${{ steps.tag_release.outputs.NEW_RELEASE == 'true' }} | |
with: | |
name: socat-v${{ needs.build-x86.outputs.version }} | |
tag: socat-v${{ needs.build-x86.outputs.version }} | |
artifacts: "/tmp/releases/*/*" | |
token: ${{ secrets.GITHUB_TOKEN }} |