From 878b37178d5b55046871ce53371eec5efb52cc78 Mon Sep 17 00:00:00 2001 From: Xe Iaso Date: Fri, 4 Apr 2025 08:15:04 -0400 Subject: implement packaging proof of concept with yeet (#194) * implement packaging proof of concept with yeet Signed-off-by: Xe Iaso * docs/developer: add local dev docs for yeet Signed-off-by: Xe Iaso * apply review feedback Signed-off-by: Xe Iaso * build package artifacts in CI Signed-off-by: Xe Iaso * tell CI to fetch all git metadata Signed-off-by: Xe Iaso * rename package builds job Signed-off-by: Xe Iaso * upload each package individually Signed-off-by: Xe Iaso * split package build CI jobs Signed-off-by: Xe Iaso * fix code injection? Signed-off-by: Xe Iaso * fix ci? Signed-off-by: Xe Iaso * fix security alert Signed-off-by: Xe Iaso * docs/local-dev: point people to yeet v1.13.3 Signed-off-by: Xe Iaso --------- Signed-off-by: Xe Iaso --- .github/workflows/package-builds-stable.yml | 81 +++++++++++++++++++++++++++ .github/workflows/package-builds-unstable.yml | 76 +++++++++++++++++++++++++ 2 files changed, 157 insertions(+) create mode 100644 .github/workflows/package-builds-stable.yml create mode 100644 .github/workflows/package-builds-unstable.yml (limited to '.github') diff --git a/.github/workflows/package-builds-stable.yml b/.github/workflows/package-builds-stable.yml new file mode 100644 index 0000000..2767583 --- /dev/null +++ b/.github/workflows/package-builds-stable.yml @@ -0,0 +1,81 @@ +name: Package builds (stable) + +on: + release: + types: [published] + +permissions: + contents: read + actions: write + +jobs: + package_builds: + #runs-on: alrest-techarohq + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + fetch-tags: true + fetch-depth: 0 + + - name: build essential + run: | + sudo apt-get update + sudo apt-get install -y build-essential + + - name: Set up Homebrew + uses: Homebrew/actions/setup-homebrew@master + + - name: Setup Homebrew cellar cache + uses: actions/cache@v4 + with: + path: | + /home/linuxbrew/.linuxbrew/Cellar + /home/linuxbrew/.linuxbrew/bin + /home/linuxbrew/.linuxbrew/etc + /home/linuxbrew/.linuxbrew/include + /home/linuxbrew/.linuxbrew/lib + /home/linuxbrew/.linuxbrew/opt + /home/linuxbrew/.linuxbrew/sbin + /home/linuxbrew/.linuxbrew/share + /home/linuxbrew/.linuxbrew/var + key: ${{ runner.os }}-go-homebrew-cellar-${{ hashFiles('go.sum') }} + restore-keys: | + ${{ runner.os }}-go-homebrew-cellar- + + - name: Install Brew dependencies + run: | + brew bundle + + - name: Setup Golang caches + uses: actions/cache@v4 + with: + path: | + ~/.cache/go-build + ~/go/pkg/mod + key: ${{ runner.os }}-golang-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-golang- + + - name: install node deps + run: | + npm ci + + - name: Build Packages + run: | + wget https://github.com/Xe/x/releases/download/v1.13.3/yeet_1.13.3_amd64.deb -O var/yeet.deb + sudo apt -y install -f ./var/yeet.deb + yeet + + - name: Upload released artifacts + env: + GITHUB_TOKEN: ${{ github.TOKEN }} + RELEASE_VERSION: ${{github.event.release.tag_name}} + shell: bash + run: | + RELEASE="${RELEASE_VERSION}" + cd var + for file in *; do + gh release upload $RELEASE $file + done \ No newline at end of file diff --git a/.github/workflows/package-builds-unstable.yml b/.github/workflows/package-builds-unstable.yml new file mode 100644 index 0000000..a14fd21 --- /dev/null +++ b/.github/workflows/package-builds-unstable.yml @@ -0,0 +1,76 @@ +name: Package builds (unstable) + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +permissions: + contents: read + actions: write + +jobs: + package_builds: + #runs-on: alrest-techarohq + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + fetch-tags: true + fetch-depth: 0 + + - name: build essential + run: | + sudo apt-get update + sudo apt-get install -y build-essential + + - name: Set up Homebrew + uses: Homebrew/actions/setup-homebrew@master + + - name: Setup Homebrew cellar cache + uses: actions/cache@v4 + with: + path: | + /home/linuxbrew/.linuxbrew/Cellar + /home/linuxbrew/.linuxbrew/bin + /home/linuxbrew/.linuxbrew/etc + /home/linuxbrew/.linuxbrew/include + /home/linuxbrew/.linuxbrew/lib + /home/linuxbrew/.linuxbrew/opt + /home/linuxbrew/.linuxbrew/sbin + /home/linuxbrew/.linuxbrew/share + /home/linuxbrew/.linuxbrew/var + key: ${{ runner.os }}-go-homebrew-cellar-${{ hashFiles('go.sum') }} + restore-keys: | + ${{ runner.os }}-go-homebrew-cellar- + + - name: Install Brew dependencies + run: | + brew bundle + + - name: Setup Golang caches + uses: actions/cache@v4 + with: + path: | + ~/.cache/go-build + ~/go/pkg/mod + key: ${{ runner.os }}-golang-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-golang- + + - name: install node deps + run: | + npm ci + + - name: Build Packages + run: | + wget https://github.com/Xe/x/releases/download/v1.13.3/yeet_1.13.3_amd64.deb -O var/yeet.deb + sudo apt -y install -f ./var/yeet.deb + yeet + + - uses: actions/upload-artifact@v4 + with: + name: packages + path: var/* \ No newline at end of file -- cgit v1.2.3