name: 'Package Pushed' on: push: branches: - master - v3 paths: - packages/** workflow_dispatch: jobs: build-pkg: name: Build package runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Login to GitHub registry uses: docker/login-action@v1 with: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} registry: docker.pkg.github.com - name: Get list of changed files uses: lots0logs/gh-action-get-changed-files@2.1.4 with: token: ${{ secrets.GITHUB_TOKEN }} - name: Build Packages run: | # PACKAGES=$(jq '.[]' -r ${HOME}/files*.json | awk -F/ '$1~/packages/ && $2 && $3{ print $2 "-" $3 }' | sort -u) PACKAGES="CONTRIBUTING.MD MATL Makefile README.MD bash befunge93 bqn brachylog brainfuck cjam clojure cobol coffeescript cow crystal dart dash deno dotnet dragon elixir emacs emojicode erlang file forte forth freebasic gawk gcc go golfscript groovy haskell husk init iverilog japt java jelly julia kotlin lisp llvm_ir lolcode lua mono nasm nim node ocaml octave osabie paradoc pascal perl php ponylang prolog pure pwsh pyth python racket raku retina rockstar rscript ruby rust samarium scala smalltalk sqlite3 swift test.sh typescript vlang vyxal yeethon zig" echo "Packages: $PACKAGES" docker pull docker.pkg.github.com/endercheif/piston/repo-builder:latest docker build -t repo-builder repo docker run -v "${{ github.workspace }}:/piston" repo-builder --no-server $PACKAGES ls -la packages - name: Upload Packages uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: packages/*.pkg.tar.gz tag: pkgs overwrite: true file_glob: true create-index: name: Create Index runs-on: ubuntu-latest needs: build-pkg steps: - name: 'Download all release assets' run: curl -s https://api.github.com/repos/endercheif/piston/releases/latest | jq '.assets[].browser_download_url' -r | xargs -L 1 curl -sLO - name: 'Generate index file' run: | echo "" > index BASEURL=https://github.com/endercheif/piston/releases/download/pkgs/ for pkg in *.pkg.tar.gz do PKGFILE=$(basename $pkg) PKGFILENAME=$(echo $PKGFILE | sed 's/\.pkg\.tar\.gz//g') PKGNAME=$(echo $PKGFILENAME | grep -oP '^\K.+(?=-)') PKGVERSION=$(echo $PKGFILENAME | grep -oP '^.+-\K.+') PKGCHECKSUM=$(sha256sum $PKGFILE | awk '{print $1}') echo "$PKGNAME,$PKGVERSION,$PKGCHECKSUM,$BASEURL$PKGFILE" >> index echo "Adding package $PKGNAME-$PKGVERSION" done - name: Upload index uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: index tag: pkgs overwrite: true file_glob: true