Merge torrust/torrust-tracker#1754: fix: print unrecognized UDP track… #2893
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Container | |
| on: | |
| push: | |
| branches: | |
| - "develop" | |
| - "main" | |
| - "releases/**/*" | |
| pull_request: | |
| branches: | |
| - "develop" | |
| - "main" | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| test: | |
| name: Test (Docker) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| target: [debug, release] | |
| steps: | |
| - id: checkout | |
| name: Checkout Repository | |
| uses: actions/checkout@v6 | |
| - id: setup | |
| name: Setup Toolchain | |
| uses: docker/setup-buildx-action@v4 | |
| - id: build | |
| name: Build | |
| uses: docker/build-push-action@v7 | |
| with: | |
| file: ./Containerfile | |
| push: false | |
| load: true | |
| target: ${{ matrix.target }} | |
| tags: torrust-tracker:local | |
| cache-from: type=gha,scope=container-${{ matrix.target }} | |
| cache-to: type=gha,scope=container-${{ matrix.target }},mode=max | |
| - id: inspect | |
| name: Inspect | |
| run: docker image inspect torrust-tracker:local | |
| context: | |
| name: Context | |
| needs: test | |
| runs-on: ubuntu-latest | |
| outputs: | |
| continue: ${{ steps.check.outputs.continue }} | |
| type: ${{ steps.check.outputs.type }} | |
| version: ${{ steps.check.outputs.version }} | |
| steps: | |
| - id: check | |
| name: Check Context | |
| run: | | |
| if [[ "${{ github.repository }}" == "torrust/torrust-tracker" ]]; then | |
| if [[ "${{ github.event_name }}" == "push" ]]; then | |
| if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then | |
| echo "type=development" >> $GITHUB_OUTPUT | |
| echo "continue=true" >> $GITHUB_OUTPUT | |
| echo "On \`main\` Branch, Type: \`development\`" | |
| elif [[ "${{ github.ref }}" == "refs/heads/develop" ]]; then | |
| echo "type=development" >> $GITHUB_OUTPUT | |
| echo "continue=true" >> $GITHUB_OUTPUT | |
| echo "On \`develop\` Branch, Type: \`development\`" | |
| elif [[ "${{ github.ref }}" =~ ^refs/heads/releases/ ]]; then | |
| semver_regex='^v(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(\+([0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*))?$' | |
| version=$(echo "${{ github.ref }}" | sed -n -E 's#^refs/heads/releases/##p') | |
| if [[ ! "$version" =~ $semver_regex ]]; then | |
| echo "Not a valid release branch semver. Will Not Continue" | |
| exit 0 | |
| fi | |
| echo "version=$version" >> $GITHUB_OUTPUT | |
| echo "type=release" >> $GITHUB_OUTPUT | |
| echo "continue=true" >> $GITHUB_OUTPUT | |
| echo "In \`releases/$version\` Branch, Type: \`release\`" | |
| else | |
| echo "Not Correct Branch. Will Not Continue" | |
| fi | |
| else | |
| echo "Not a Push Event. Will Not Continue" | |
| fi | |
| else | |
| echo "On a Forked Repository. Will Not Continue" | |
| fi | |
| publish_development: | |
| name: Publish (Development) | |
| environment: dockerhub-torrust | |
| needs: context | |
| if: needs.context.outputs.continue == 'true' && needs.context.outputs.type == 'development' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - id: checkout | |
| name: Checkout Repository | |
| uses: actions/checkout@v6 | |
| - id: meta | |
| name: Docker Meta | |
| uses: docker/metadata-action@v6 | |
| with: | |
| images: | | |
| "${{ secrets.DOCKER_HUB_USERNAME }}/${{secrets.DOCKER_HUB_REPOSITORY_NAME }}" | |
| tags: | | |
| type=ref,event=branch | |
| - id: login | |
| name: Login to Docker Hub | |
| uses: docker/login-action@v4 | |
| with: | |
| username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| - id: setup | |
| name: Setup Toolchain | |
| uses: docker/setup-buildx-action@v4 | |
| - name: Build and push | |
| uses: docker/build-push-action@v7 | |
| with: | |
| file: ./Containerfile | |
| push: true | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| target: release | |
| cache-from: type=gha,scope=container-publish-dev | |
| cache-to: type=gha,scope=container-publish-dev,mode=max | |
| publish_release: | |
| name: Publish (Release) | |
| environment: dockerhub-torrust | |
| needs: context | |
| if: needs.context.outputs.continue == 'true' && needs.context.outputs.type == 'release' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - id: checkout | |
| name: Checkout Repository | |
| uses: actions/checkout@v6 | |
| - id: meta | |
| name: Docker Meta | |
| uses: docker/metadata-action@v6 | |
| with: | |
| images: | | |
| "${{ secrets.DOCKER_HUB_USERNAME }}/${{secrets.DOCKER_HUB_REPOSITORY_NAME }}" | |
| tags: | | |
| type=semver,value=${{ needs.context.outputs.version }},pattern={{raw}} | |
| type=semver,value=${{ needs.context.outputs.version }},pattern={{version}} | |
| type=semver,value=${{ needs.context.outputs.version }},pattern=v{{major}} | |
| type=semver,value=${{ needs.context.outputs.version }},pattern={{major}}.{{minor}} | |
| - id: login | |
| name: Login to Docker Hub | |
| uses: docker/login-action@v4 | |
| with: | |
| username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| - id: setup | |
| name: Setup Toolchain | |
| uses: docker/setup-buildx-action@v4 | |
| - name: Build and push | |
| uses: docker/build-push-action@v7 | |
| with: | |
| file: ./Containerfile | |
| push: true | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| target: release | |
| cache-from: type=gha,scope=container-publish-release | |
| cache-to: type=gha,scope=container-publish-release,mode=max |