name: Build Binaries on: # Runs on pushes targeting the default branch push: jobs: # Build job build: name: Build & Test runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: github-server-url: https://gitea.sheep-ghoul.ts.net - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable - name: Cargo Build uses: actions-rs/cargo@v1 with: command: build - name: Cargo Test uses: actions-rs/cargo@v1 with: command: test publishLib: runs-on: ubuntu-latest name: Package Library needs: [ build ] # for ignoring bad builds if: github.event_name == 'push' && github.ref == 'refs/heads/master' steps: - name: Checkout uses: actions/checkout@v4 with: github-server-url: https://gitea.sheep-ghoul.ts.net - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable - name: Cargo Publish uses: actions-rs/cargo@v1 with: command: publish args: --manifest-path ./dnstp --index https://gitea.sheep-ghoul.ts.net/sarsoo/_cargo-index.git --registry sparse+https://git.lab.sarsoo.xyz/api/packages/${{ secrets.DOCKERHUB_USERNAME }}/cargo/ --token ${{ secrets.DOCKERHUB_TOKEN }} package: runs-on: ubuntu-latest name: Package Container needs: [ build ] # for ignoring bad builds if: github.event_name == 'push' && github.ref == 'refs/heads/master' steps: - uses: actions/checkout@v4 with: github-server-url: https://gitea.sheep-ghoul.ts.net - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to DockerHub uses: docker/login-action@v2 with: registry: gitea.sheep-ghoul.ts.net username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build & Push Container uses: docker/build-push-action@v2 with: push: true tags: gitea.sheep-ghoul.ts.net/sarsoo/dnstp:latest context: .