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: Add SarGit Repo run: | cat < ~/.cargo/config.toml [registry] default = "sargit" [registries.sargit] index = "sparse+https://gitea.sheep-ghoul.ts.net/api/packages/${{ secrets.DOCKERHUB_USERNAME }}/cargo/" EOF - name: Cargo Publish uses: actions-rs/cargo@v1 with: command: publish args: --token ${{ secrets.DOCKERHUB_TOKEN }} --package dnstplib 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: .