diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..34ba955 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,48 @@ +name: Build Package + +on: + push: + branches: + - main + +env: + PAT: ${{secrets.PAT}} + +jobs: + build: + runs-on: ubuntu-latest + container: + image: archlinux:latest + + steps: + - name: Update system and install dependencies + run: | + pacman-key --init + pacman-key --populate archlinux + pacman -Syu --noconfirm --quiet + pacman -S base-devel git sudo github-cli --noconfirm --quiet + + - name: Build package + run: | + useradd -m builder + echo "builder ALL=(ALL) NOPASSWD: ALL" | tee -a /etc/sudoers + su builder -c "git clone https://github.com/omansh-krishn/build-materialgram.git /home/builder/build && cd /home/builder/build && makepkg --syncdeps --noconfirm --needed" + + - name: Set filename as variable + id: set-filename + run: echo "::set-output name=filename::$(basename /home/builder/build/*.zst)" + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ steps.set-filename.outputs.filename }} + path: /home/builder/build/*.zst + + - name: UPLOAD TO GITHUB RELEASES + run: | + echo $PAT | gh auth login --with-token + export VERSION=$(cat /home/builder/build/PKGBUILD | grep 'pkgver=' | cut -d'=' -f2) + export FILE_NAME=${{ steps.set-filename.outputs.filename }} + gh release create ${VERSION}-materialgram /home/builder/build/${FILE_NAME} --repo materialgram/materialgram-bin + +