diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index c479d05..0000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,72 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -name: "CodeQL" - -on: - push: - branches: [main] - pull_request: - # The branches below must be a subset of the branches above - branches: [main] - schedule: - - cron: '0 1 * * 4' - workflow_dispatch: - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - # Override automatic language detection by changing the below list - # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] - language: ['go'] - # Learn more... - # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - # We must fetch at least the immediate parents so that if this is - # a pull request then we can checkout the head. - fetch-depth: 2 - - # If this run was triggered by a pull request event, then checkout - # the head of the pull request instead of the merge commit. - - run: git checkout HEAD^2 - if: ${{ github.event_name == 'pull_request' }} - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/dependabot-approve.yml b/.github/workflows/dependabot-approve.yml deleted file mode 100644 index 46f9d18..0000000 --- a/.github/workflows/dependabot-approve.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: Auto approve dependabot PRs - -on: pull_request_target - -jobs: - auto-approve: - runs-on: ubuntu-latest - permissions: - pull-requests: write - if: github.actor == 'dependabot[bot]' - steps: - - uses: hmarr/auto-approve-action@v3 diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml deleted file mode 100644 index 83ff8a0..0000000 --- a/.github/workflows/greetings.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Greetings - -on: - # Runs in the context of the target (containrrr/watchtower) repository, and as such has access to GITHUB_TOKEN - pull_request_target: - types: [opened] - issues: - types: [opened] - -jobs: - greeting: - runs-on: ubuntu-latest - steps: - - uses: actions/first-interaction@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - issue-message: > - Hi there! 👋đŸŧ - As you're new to this repo, we'd like to suggest that you read our [code of conduct](https://github.com/containrrr/.github/blob/master/CODE_OF_CONDUCT.md) - as well as our [contribution guidelines](https://github.com/containrrr/watchtower/blob/master/CONTRIBUTING.md). - Thanks a bunch for opening your first issue! 🙏 - pr-message: > - Congratulations on opening your first pull request! We'll get back to you as soon as possible. In the meantime, please make sure you've updated the documentation to reflect your changes and have added test automation as needed. Thanks! 🙏đŸŧ diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml deleted file mode 100644 index 4818e54..0000000 --- a/.github/workflows/publish-docs.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Publish Docs - -on: - workflow_dispatch: { } - workflow_run: - workflows: [ "Release (Production)" ] - branches: [ main ] - types: - - completed - -jobs: - publish-docs: - name: Publish Docs - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: 1.20.x - - name: Build tplprev - run: scripts/build-tplprev.sh - - name: Setup python - uses: actions/setup-python@v5 - with: - python-version: '3.10' - cache: 'pip' - cache-dependency-path: | - docs-requirements.txt - - name: Install mkdocs - run: | - pip install -r docs-requirements.txt - - name: Generate docs - run: mkdocs gh-deploy --strict diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml deleted file mode 100644 index f6866af..0000000 --- a/.github/workflows/pull-request.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: Pull Request - -on: - workflow_dispatch: {} - pull_request: - branches: - - main - -jobs: - lint: - name: Lint - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: 1.20.x - - uses: dominikh/staticcheck-action@ba605356b4b29a60e87ab9404b712f3461e566dc #v1.3.0 - with: - version: "2023.1.6" - install-go: "false" # StaticCheck uses go v1.17 which does not support `any` - test: - name: Test - strategy: - fail-fast: false - matrix: - go-version: - - 1.20.x - platform: - - macos-latest - - windows-latest - - ubuntu-latest - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: 1.20.x - - name: Run tests - run: | - go test -v -coverprofile coverage.out -covermode atomic ./... - - name: Publish coverage - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - build: - name: Build - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: 1.20.x - - name: Build - uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 #v3 - with: - version: v0.155.0 - args: --snapshot --skip-publish --debug diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml deleted file mode 100644 index 95ee68d..0000000 --- a/.github/workflows/release-dev.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: Push to main - -on: - workflow_dispatch: {} - push: - branches: - - main - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: 1.20.x - - name: Build - run: ./build.sh - test: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: 1.20.x - - name: Test - run: go test -v -coverprofile coverage.out -covermode atomic ./... - - name: Publish coverage - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - publish: - needs: - - build - - test - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Publish to Docker Hub - uses: jerray/publish-docker-action@87d84711629b0dc9f6bb127b568413cc92a2088e #master@2022-10-14 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - file: dockerfiles/Dockerfile.self-contained - repository: containrrr/watchtower - tags: latest-dev - - name: Publish to GHCR - uses: jerray/publish-docker-action@87d84711629b0dc9f6bb127b568413cc92a2088e #master@2022-10-14 - with: - username: ${{ secrets.BOT_USERNAME }} - password: ${{ secrets.BOT_GHCR_PAT }} - file: dockerfiles/Dockerfile.self-contained - registry: ghcr.io - repository: containrrr/watchtower - tags: latest-dev diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 370d395..0000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,197 +0,0 @@ -name: Release (Production) - -on: - workflow_dispatch: {} - push: - tags: - - 'v[0-9]+.[0-9]+.[0-9]+' - - '**/v[0-9]+.[0-9]+.[0-9]+' - -jobs: - lint: - name: Lint - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: 1.20.x - - uses: dominikh/staticcheck-action@ba605356b4b29a60e87ab9404b712f3461e566dc #v1.3.0 - with: - version: "2022.1.1" - install-go: "false" # StaticCheck uses go v1.17 which does not support `any` - - test: - name: Test - strategy: - matrix: - go-version: - - 1.20.x - platform: - - ubuntu-latest - - macos-latest - - windows-latest - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: 1.20.x - - name: Run tests - run: | - go test ./... -coverprofile coverage.out - - build: - name: Build - runs-on: ubuntu-latest - needs: - - test - - lint - env: - CGO_ENABLED: 0 - TAG: ${{ github.ref_name }} - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: 1.20.x - - name: Login to Docker Hub - uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc #v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Login to GHCR - uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc #v2 - with: - username: ${{ secrets.BOT_USERNAME }} - password: ${{ secrets.BOT_GHCR_PAT }} - registry: ghcr.io - - name: Build - uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 #v3 - with: - version: v0.155.0 - args: --debug - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Enable experimental docker features - run: | - mkdir -p ~/.docker/ && \ - echo '{"experimental": "enabled"}' > ~/.docker/config.json - - name: Create manifest for version - run: | - export DH_TAG=$(git tag --points-at HEAD | sed 's/^v*//') - docker manifest create \ - containrrr/watchtower:$DH_TAG \ - containrrr/watchtower:amd64-$DH_TAG \ - containrrr/watchtower:i386-$DH_TAG \ - containrrr/watchtower:armhf-$DH_TAG \ - containrrr/watchtower:arm64v8-$DH_TAG - docker manifest create \ - ghcr.io/containrrr/watchtower:$DH_TAG \ - ghcr.io/containrrr/watchtower:amd64-$DH_TAG \ - ghcr.io/containrrr/watchtower:i386-$DH_TAG \ - ghcr.io/containrrr/watchtower:armhf-$DH_TAG \ - ghcr.io/containrrr/watchtower:arm64v8-$DH_TAG - - name: Annotate manifest for version - run: | - for REPO in '' ghcr.io/ ; do - - docker manifest annotate \ - ${REPO}containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ - ${REPO}containrrr/watchtower:i386-$(echo $TAG | sed 's/^v*//') \ - --os linux \ - --arch 386 - - docker manifest annotate \ - ${REPO}containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ - ${REPO}containrrr/watchtower:armhf-$(echo $TAG | sed 's/^v*//') \ - --os linux \ - --arch arm - - docker manifest annotate \ - ${REPO}containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ - ${REPO}containrrr/watchtower:arm64v8-$(echo $TAG | sed 's/^v*//') \ - --os linux \ - --arch arm64 \ - --variant v8 - - done - - name: Create manifest for latest - run: | - docker manifest create \ - containrrr/watchtower:latest \ - containrrr/watchtower:amd64-latest \ - containrrr/watchtower:i386-latest \ - containrrr/watchtower:armhf-latest \ - containrrr/watchtower:arm64v8-latest - docker manifest create \ - ghcr.io/containrrr/watchtower:latest \ - ghcr.io/containrrr/watchtower:amd64-latest \ - ghcr.io/containrrr/watchtower:i386-latest \ - ghcr.io/containrrr/watchtower:armhf-latest \ - ghcr.io/containrrr/watchtower:arm64v8-latest - - name: Annotate manifest for latest - run: | - for REPO in '' ghcr.io/ ; do - - docker manifest annotate \ - ${REPO}containrrr/watchtower:latest \ - ${REPO}containrrr/watchtower:i386-latest \ - --os linux \ - --arch 386 - - docker manifest annotate \ - ${REPO}containrrr/watchtower:latest \ - ${REPO}containrrr/watchtower:armhf-latest \ - --os linux \ - --arch arm - - docker manifest annotate \ - ${REPO}containrrr/watchtower:latest \ - ${REPO}containrrr/watchtower:arm64v8-latest \ - --os linux \ - --arch arm64 \ - --variant v8 - - done - - name: Push manifests to Dockerhub - env: - DOCKER_USER: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKER_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} - run: | - docker login -u $DOCKER_USER -p $DOCKER_TOKEN && \ - docker manifest push containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ - docker manifest push containrrr/watchtower:latest - - name: Push manifests to GitHub Container Registry - env: - DOCKER_USER: ${{ secrets.BOT_USERNAME }} - DOCKER_TOKEN: ${{ secrets.BOT_GHCR_PAT }} - run: | - docker login -u $DOCKER_USER -p $DOCKER_TOKEN ghcr.io && \ - docker manifest push ghcr.io/containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ - docker manifest push ghcr.io/containrrr/watchtower:latest - - renew-docs: - name: Refresh pkg.go.dev - needs: build - runs-on: ubuntu-latest - steps: - - name: Pull new module version - uses: andrewslotin/go-proxy-pull-action@50fea06a976087614babb9508e5c528b464f4645 #master@2022-10-14 - - - - -