name: Build-Test-Publish
run-name: Build test and publish all tools

on: [push]

defaults:
  run:
    shell: bash

jobs:
  build:
    strategy:
      matrix:
        platform:
          - linux/amd64
          - linux/arm64
    runs-on: ${{ matrix.platform }}
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Login to Gitea
        uses: docker/login-action@v3
        with:
          registry: gitea.jde.nz
          username: DoesntMatter
          password: ${{ secrets.DOCKER_PUSH_TOKEN }}
      - name: Build Test Publish All
        run: |
          SOS_WRITE_TOKEN=${{ secrets.SOS_WRITE_TOKEN }} \
          RELEASE_WRITE_TOKEN=${{ secrets.RELEASE_WRITE_TOKEN }} \
          GITEA_CONTAINER_NAME=${{ env.JOB_CONTAINER_NAME }} \
          ./buildtestpublish_all.sh

  test-install-from-scratch:
    needs: [build]
    strategy:
      matrix:
        platform:
          - linux/amd64
          - linux/arm64
    runs-on: ${{matrix.platform}}
    steps:
      - name: install
        run: |
          curl -s https://getbin.xyz/getpkg-install | bash
      - name: test install
        run: |
          ~/.local/bin/getpkg/getpkg install whatsdirty
      - name: test update
        run: |
          ~/.local/bin/getpkg/getpkg update
      - name: test list
        run: |
          ~/.local/bin/getpkg/getpkg list
      - name: test uninstall
        run: |
          ~/.local/bin/getpkg/getpkg uninstall whatsdirty
      - name: test clean
        run: |
          ~/.local/bin/getpkg/getpkg clean
