diff --git a/.github/workflows/publish-unstable.yml b/.github/workflows/publish-unstable.yml new file mode 100644 index 0000000..db3e555 --- /dev/null +++ b/.github/workflows/publish-unstable.yml @@ -0,0 +1,140 @@ +name: Publish to Unstable + +on: + push: + branches: + - main + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + matrix-builder: + runs-on: ubuntu-24.04 + outputs: + includes: ${{ steps.builder.outputs.includes }} + steps: + - name: Build Matrix + id: builder + uses: regolith-linux/actions/build-matrix@main + with: + name: "${{ github.event.repository.name }}" + ref: "${{ github.ref }}" + arch: "amd64 arm64" + stage: "unstable" + + build: + runs-on: ubuntu-24.04 + needs: matrix-builder + container: "ghcr.io/regolith-linux/ci-${{ matrix.distro }}:${{ matrix.codename }}-${{ matrix.arch }}" + strategy: + fail-fast: false + matrix: + include: ${{ fromJSON(needs.matrix-builder.outputs.includes) }} + env: + server-address: "${{ secrets.KAMATERA_HOSTNAME2 }}" + server-username: "${{ secrets.KAMATERA_USERNAME }}" + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Import GPG Key + uses: regolith-linux/actions/import-gpg@main + with: + gpg-key: "${{ secrets.PACKAGE_PRIVATE_KEY2 }}" + + - name: Build Package + id: build + uses: regolith-linux/actions/build-package@main + with: + name: "${{ github.event.repository.name }}" + distro: "${{ matrix.distro }}" + codename: "${{ matrix.codename }}" + stage: "unstable" + suite: "unstable" + component: "main" + arch: "${{ matrix.arch }}" + + - name: Setup SSH + uses: regolith-linux/actions/setup-ssh@main + with: + ssh-host: "${{ env.server-address }}" + ssh-key: "${{ secrets.KAMATERA_SSH_KEY }}" + + - name: Upload Package + uses: regolith-linux/actions/upload-files@main + with: + upload-to-folder: "${{ github.event.repository.name }}" + + - name: Upload SourceLog + uses: regolith-linux/actions/upload-files@main + with: + upload-from: "${{ steps.build.outputs.buildlog-path }}" + upload-pattern: "SOURCELOG_*.txt" + upload-to-base: "/opt/archives/workspace/" + upload-to-folder: "${{ github.event.repository.name }}" + + - name: Update Manifest + uses: regolith-linux/actions/update-manifest@main + with: + name: "${{ github.event.repository.name }}" + repo: "${{ github.server_url }}/${{ github.repository }}.git" + ref: "${{ github.ref }}" + sha: "${{ github.sha }}" + distro: "${{ matrix.distro }}" + codename: "${{ matrix.codename }}" + suite: "unstable" + component: "main" + arch: "${{ matrix.arch }}" + + sources: + runs-on: ubuntu-24.04 + needs: build + container: "ghcr.io/regolith-linux/ci-ubuntu:noble-amd64" + if: ${{ !failure() && !cancelled() }} + env: + server-address: "${{ secrets.KAMATERA_HOSTNAME2 }}" + server-username: "${{ secrets.KAMATERA_USERNAME }}" + steps: + - name: Import GPG Key + uses: regolith-linux/actions/import-gpg@main + with: + gpg-key: "${{ secrets.PACKAGE_PRIVATE_KEY2 }}" + + - name: Setup SSH + uses: regolith-linux/actions/setup-ssh@main + with: + ssh-host: "${{ env.server-address }}" + ssh-key: "${{ secrets.KAMATERA_SSH_KEY }}" + + - name: Rebuild Sources + uses: regolith-linux/actions/rebuild-sources@main + with: + workspace-subfolder: "${{ github.event.repository.name }}" + only-component: "unstable" + only-package: "${{ github.event.repository.name }}" + + publish: + runs-on: ubuntu-24.04 + needs: [build, sources] + container: "ghcr.io/regolith-linux/ci-ubuntu:noble-amd64" + if: ${{ !failure() && !cancelled() }} + env: + server-address: "${{ secrets.KAMATERA_HOSTNAME2 }}" + server-username: "${{ secrets.KAMATERA_USERNAME }}" + steps: + - name: Setup SSH + uses: regolith-linux/actions/setup-ssh@main + with: + ssh-host: "${{ env.server-address }}" + ssh-key: "${{ secrets.KAMATERA_SSH_KEY }}" + + # ################################################# + # # TODO + # ################################################# + # - name: Publish Repo + # uses: regolith-linux/actions/publish-repo@main + # with: + # only-component: "unstable" + # #################################################