diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index b920e1793..000000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,3 +0,0 @@ -# These are supported funding model platforms - -github: traefik diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 8d124b341..000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,77 +0,0 @@ - - -### Do you want to request a *feature* or report a *bug*? - - - -Bug - - - -### What did you do? - - - -### What did you expect to see? - - - -### What did you see instead? - - - -### Output of `traefik version`: (_What version of Traefik are you using?_) - - - -``` -(paste your output here) -``` - -### What is your environment & configuration (arguments, toml, provider, platform, ...)? - -```toml -# (paste your configuration here) -``` - - - - -### If applicable, please paste the log output in DEBUG level (`--log.level=DEBUG` switch) - -``` -(paste your output here) -``` diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index ce21d35ee..000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: Bug Report (Traefik) -description: Create a report to help us improve. -body: - - type: checkboxes - id: terms - attributes: - label: Welcome! - description: | - The issue tracker is for reporting bugs and feature requests only. - For end-user related support questions, please use the [Traefik community forum](https://community.traefik.io/). - - All new/updated issues are triaged regularly by the maintainers. - All issues closed by a bot are subsequently double-checked by the maintainers. - - DO NOT FILE ISSUES FOR GENERAL SUPPORT QUESTIONS. - - options: - - label: Yes, I've searched similar issues on [GitHub](https://github.com/traefik/traefik/issues) and didn't find any. - required: true - - label: Yes, I've searched similar issues on the [Traefik community forum](https://community.traefik.io) and didn't find any. - required: true - - - type: textarea - attributes: - label: What did you do? - description: | - How to write a good bug report? - - - Respect the issue template as much as possible. - - The title should be short and descriptive. - - Explain the conditions which led you to report this issue: the context. - - The context should lead to something, an idea or a problem that you’re facing. - - Remain clear and concise. - - Format your messages to help the reader focus on what matters and understand the structure of your message, use [Markdown syntax](https://help.github.com/articles/github-flavored-markdown) - placeholder: What did you do? - validations: - required: true - - - type: textarea - attributes: - label: What did you see instead? - placeholder: What did you see instead? - validations: - required: true - - - type: textarea - attributes: - label: What version of Traefik are you using? - description: | - `latest` is not considered as a valid version. - - Output of `traefik version`. - - For the Traefik Docker image (`docker run [IMAGE] version`), example: - ```console - $ docker run traefik version - ``` - placeholder: Paste your output here. - validations: - required: true - - - type: textarea - attributes: - label: What is your environment & configuration? - description: arguments, toml, provider, platform, ... - placeholder: Add information here. - value: | - ```yaml - # (paste your configuration here) - ``` - - Add more configuration information here. - validations: - required: true - - - type: textarea - attributes: - label: If applicable, please paste the log output in DEBUG level - description: "`--log.level=DEBUG` switch." - placeholder: Paste your output here. - validations: - required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 80c8c86b5..000000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,8 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: Traefik Community Support - url: https://community.traefik.io/ - about: If you have a question, or are looking for advice, please post on our Discuss forum! The community loves to chime in to help. Happy Coding! - - name: Traefik Helm Chart Issues - url: https://github.com/traefik/traefik-helm-chart - about: Are you submitting an issue or feature enhancement for the Traefik helm chart? Please post in the traefik-helm-chart GitHub Issues. diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml deleted file mode 100644 index 5a092594d..000000000 --- a/.github/ISSUE_TEMPLATE/feature-request.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Feature Request (Traefik) -description: Suggest an idea for this project. -body: - - type: checkboxes - id: terms - attributes: - label: Welcome! - description: | - The issue tracker is for reporting bugs and feature requests only. For end-user related support questions, please refer to one of the following: - - the Traefik community forum: https://community.traefik.io/ - - DO NOT FILE ISSUES FOR GENERAL SUPPORT QUESTIONS. - options: - - label: Yes, I've searched similar issues on [GitHub](https://github.com/traefik/traefik/issues) and didn't find any. - required: true - - label: Yes, I've searched similar issues on the [Traefik community forum](https://community.traefik.io) and didn't find any. - required: true - - - type: textarea - attributes: - label: What did you expect to see? - description: | - How to write a good issue? - - - Respect the issue template as much as possible. - - The title should be short and descriptive. - - Explain the conditions which led you to report this issue: the context. - - The context should lead to something, an idea or a problem that you’re facing. - - Remain clear and concise. - - Format your messages to help the reader focus on what matters and understand the structure of your message, use [Markdown syntax](https://help.github.com/articles/github-flavored-markdown) - placeholder: What did you expect to see? - validations: - required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 2594684f6..000000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,37 +0,0 @@ - - -### What does this PR do? - - - - -### Motivation - - - - -### More - -- [ ] Added/updated tests -- [ ] Added/updated documentation - -### Additional Notes - - diff --git a/.github/PULL_REQUEST_TEMPLATE/mergeback.md b/.github/PULL_REQUEST_TEMPLATE/mergeback.md deleted file mode 100644 index dfc856011..000000000 --- a/.github/PULL_REQUEST_TEMPLATE/mergeback.md +++ /dev/null @@ -1,7 +0,0 @@ -### What does this PR do? - -Merge v{{.Version}} into master - -### Motivation - -Be sync. diff --git a/.github/PULL_REQUEST_TEMPLATE/release.md b/.github/PULL_REQUEST_TEMPLATE/release.md deleted file mode 100644 index 226a85a73..000000000 --- a/.github/PULL_REQUEST_TEMPLATE/release.md +++ /dev/null @@ -1,7 +0,0 @@ -### What does this PR do? - -Prepare release v{{.Version}}. - -### Motivation - -Create a new release. diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml deleted file mode 100644 index 0122f29e6..000000000 --- a/.github/workflows/build.yaml +++ /dev/null @@ -1,81 +0,0 @@ -name: Build Binaries - -on: - pull_request: - branches: - - '*' - paths-ignore: - - 'docs/**' - - '**.md' - - 'script/gcg/**' - -env: - GO_VERSION: '1.23' - CGO_ENABLED: 0 - -jobs: - - build-webui: - uses: ./.github/workflows/template-webui.yaml - - build: - runs-on: ubuntu-latest - - strategy: - matrix: - os: [ darwin, freebsd, linux, openbsd, windows ] - arch: [ amd64, arm64 ] - include: - - os: freebsd - arch: 386 - - os: linux - arch: 386 - - os: linux - arch: arm - goarm: 6 - - os: linux - arch: arm - goarm: 7 - - os: linux - arch: ppc64le - - os: linux - arch: riscv64 - - os: linux - arch: s390x - - os: openbsd - arch: 386 - - os: windows - arch: 386 - needs: - - build-webui - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Go ${{ env.GO_VERSION }} - uses: actions/setup-go@v5 - env: - ImageOS: ${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.goarm }} - with: - go-version: ${{ env.GO_VERSION }} - check-latest: true - - - name: Artifact webui - uses: actions/download-artifact@v4 - with: - name: webui.tar.gz - - - name: Untar webui - run: | - tar xvf webui.tar.gz - rm webui.tar.gz - - - name: Build - env: - GOOS: ${{ matrix.os }} - GOARCH: ${{ matrix.arch }} - GOARM: ${{ matrix.goarm }} - run: make binary diff --git a/.github/workflows/check_doc.yml b/.github/workflows/check_doc.yml deleted file mode 100644 index c5fbddcec..000000000 --- a/.github/workflows/check_doc.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Check Documentation - -on: - pull_request: - branches: - - '*' - -jobs: - - docs: - name: Check, verify and build documentation - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Check documentation - run: make docs-pull-images docs - env: - # These variables are not passed to workflows that are triggered by a pull request from a fork. - DOCS_VERIFY_SKIP: ${{ vars.DOCS_VERIFY_SKIP }} - DOCS_LINT_SKIP: ${{ vars.DOCS_LINT_SKIP }} diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index f921d7789..000000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: "CodeQL" - -on: - push: - branches: - - master - - v* - schedule: - - cron: '11 22 * * 1' - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'javascript', 'go' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] - # Use only 'java' to analyze code written in Java, Kotlin or both - # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: setup go - uses: actions/setup-go@v5 - if: ${{ matrix.language == 'go' }} - with: - go-version-file: 'go.mod' - - # 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. - - # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - - # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). - # 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. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml deleted file mode 100644 index adfdcc74e..000000000 --- a/.github/workflows/documentation.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: Build and Publish Documentation - -on: - push: - branches: - - master - - v* - -env: - STRUCTOR_VERSION: v1.13.2 - MIXTUS_VERSION: v0.4.1 - -jobs: - - docs: - name: Doc Process - runs-on: ubuntu-latest - if: github.repository == 'traefik/traefik' - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Install Structor ${{ env.STRUCTOR_VERSION }} - run: curl -sSfL https://raw.githubusercontent.com/traefik/structor/master/godownloader.sh | sh -s -- -b $HOME/bin ${STRUCTOR_VERSION} - - - name: Install Seo-doc - run: curl -sSfL https://raw.githubusercontent.com/traefik/seo-doc/master/godownloader.sh | sh -s -- -b "${HOME}/bin" - - - name: Install Mixtus ${{ env.MIXTUS_VERSION }} - run: curl -sSfL https://raw.githubusercontent.com/traefik/mixtus/master/godownloader.sh | sh -s -- -b $HOME/bin ${MIXTUS_VERSION} - - - name: Build documentation - run: $HOME/bin/structor -o traefik -r traefik --dockerfile-url="https://raw.githubusercontent.com/traefik/traefik/v1.7/docs.Dockerfile" --menu.js-url="https://raw.githubusercontent.com/traefik/structor/master/traefik-menu.js.gotmpl" --rqts-url="https://raw.githubusercontent.com/traefik/structor/master/requirements-override.txt" --force-edit-url --exp-branch=master --debug - env: - STRUCTOR_LATEST_TAG: ${{ vars.STRUCTOR_LATEST_TAG }} - - - name: Apply seo - run: $HOME/bin/seo -path=./site -product=traefik - - - name: Publish documentation - run: $HOME/bin/mixtus --dst-doc-path="./traefik" --dst-owner=traefik --dst-repo-name=doc --git-user-email="30906710+traefiker@users.noreply.github.com" --git-user-name=traefiker --src-doc-path="./site" --src-owner=traefik --src-repo-name=traefik - env: - GITHUB_TOKEN: ${{ secrets.GH_TOKEN_REPO }} diff --git a/.github/workflows/experimental.yaml b/.github/workflows/experimental.yaml deleted file mode 100644 index 76959bbd5..000000000 --- a/.github/workflows/experimental.yaml +++ /dev/null @@ -1,70 +0,0 @@ -name: Build experimental image on branch - -on: - push: - branches: - - master - - v* - -env: - GO_VERSION: '1.23' - CGO_ENABLED: 0 - -jobs: - - build-webui: - if: github.repository == 'traefik/traefik' - uses: ./.github/workflows/template-webui.yaml - - experimental: - if: github.repository == 'traefik/traefik' - name: Build experimental image on branch - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Go ${{ env.GO_VERSION }} - uses: actions/setup-go@v5 - env: - ImageOS: ${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.goarm }} - with: - go-version: ${{ env.GO_VERSION }} - check-latest: true - - - name: Build - run: make generate binary - - - name: Branch name - run: echo ${GITHUB_REF##*/} - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Artifact webui - uses: actions/download-artifact@v4 - with: - name: webui.tar.gz - - - name: Untar webui - run: | - tar xvf webui.tar.gz - rm webui.tar.gz - - - name: Build docker experimental image - env: - DOCKER_BUILDX_ARGS: "--push" - run: | - make multi-arch-image-experimental-${GITHUB_REF##*/} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml deleted file mode 100644 index 03a94ec91..000000000 --- a/.github/workflows/release.yaml +++ /dev/null @@ -1,138 +0,0 @@ -name: Release - -on: - push: - tags: - - 'v*.*.*' - -env: - GO_VERSION: '1.23' - CGO_ENABLED: 0 - VERSION: ${{ github.ref_name }} - TRAEFIKER_EMAIL: "traefiker@traefik.io" - CODENAME: chaource - -jobs: - - build-webui: - if: github.ref_type == 'tag' && github.repository == 'traefik/traefik' - uses: ./.github/workflows/template-webui.yaml - - build: - if: github.ref_type == 'tag' && github.repository == 'traefik/traefik' - runs-on: ubuntu-latest - - strategy: - matrix: - os: [ linux-amd64, linux-386, linux-arm, linux-arm64, linux-ppc64le, linux-s390x, linux-riscv64, darwin, windows-amd64, windows-arm64, windows-386, freebsd, openbsd ] - needs: - - build-webui - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Go ${{ env.GO_VERSION }} - uses: actions/setup-go@v5 - env: - # Ensure cache consistency on Linux, see https://github.com/actions/setup-go/pull/383 - ImageOS: ${{ matrix.os }} - with: - go-version: ${{ env.GO_VERSION }} - check-latest: true - - - name: Artifact webui - uses: actions/download-artifact@v4 - with: - name: webui.tar.gz - - - name: Untar webui - run: | - tar xvf webui.tar.gz - rm webui.tar.gz - - - name: Go generate - run: go generate - - - - name: Generate goreleaser file - run: | - GORELEASER_CONFIG_FILE_PATH=$(go run ./internal/release "${{ matrix.os }}") - echo "GORELEASER_CONFIG_FILE_PATH=$GORELEASER_CONFIG_FILE_PATH" >> $GITHUB_ENV - - - name: Build with goreleaser - uses: goreleaser/goreleaser-action@v6 - with: - distribution: goreleaser - # 'latest', 'nightly', or a semver - version: '~> v2' - args: release --clean --timeout="90m" --config "${{ env.GORELEASER_CONFIG_FILE_PATH }}" - - - name: Artifact binaries - uses: actions/upload-artifact@v4 - with: - name: ${{ matrix.os }}-binaries - path: | - dist/**/*_checksums.txt - dist/**/*.tar.gz - dist/**/*.zip - retention-days: 1 - - release: - if: github.ref_type == 'tag' && github.repository == 'traefik/traefik' - runs-on: ubuntu-latest - - needs: - - build - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Artifact webui - uses: actions/download-artifact@v4 - with: - name: webui.tar.gz - - - name: Untar webui - run: | - tar xvf webui.tar.gz - rm webui.tar.gz - - - name: Retrieve the secret and decode it to a file - env: - TRAEFIKER_RSA: ${{ secrets.TRAEFIKER_RSA }} - run: | - mkdir -p ~/.ssh - echo "${TRAEFIKER_RSA}" | base64 --decode > ~/.ssh/traefiker_rsa - - - name: Download All Artifacts - uses: actions/download-artifact@v4 - with: - path: dist/ - pattern: "*-binaries" - merge-multiple: true - - - name: Publish Release - env: - GH_TOKEN: ${{ github.token }} - run: | - cat dist/**/*_checksums.txt >> "dist/traefik_${VERSION}_checksums.txt" - rm dist/**/*_checksums.txt - tar cfz "dist/traefik-${VERSION}.src.tar.gz" \ - --exclude-vcs \ - --exclude .idea \ - --exclude .travis \ - --exclude .semaphoreci \ - --exclude .github \ - --exclude dist . - - chown -R "$(id -u)":"$(id -g)" dist/ - gh release create ${VERSION} ./dist/**/traefik*.{zip,tar.gz} ./dist/traefik*.{tar.gz,txt} --repo traefik/traefik --title ${VERSION} --notes ${VERSION} - - ./script/deploy.sh - diff --git a/.github/workflows/sync-docker-images.yaml b/.github/workflows/sync-docker-images.yaml deleted file mode 100644 index 6f0b3c103..000000000 --- a/.github/workflows/sync-docker-images.yaml +++ /dev/null @@ -1,26 +0,0 @@ -name: Sync Docker Images - -on: - workflow_dispatch: - schedule: - - cron: "0 0 * * *" # Run every day - -jobs: - sync: - runs-on: ubuntu-latest - permissions: - packages: write - contents: read - if: github.repository == 'traefik/traefik' - - steps: - - uses: actions/checkout@v4 - - - uses: imjasonh/setup-crane@v0.4 - - - name: Sync - run: | - EXCLUDED_TAGS="1.7.9-alpine v1.0.0-beta.392 v1.0.0-beta.404 v1.0.0-beta.704 v1.0.0-rc1 v1.7.9-alpine" - EXCLUDED_REGEX=$(echo $EXCLUDED_TAGS | sed 's/ /|/g') - diff <(crane ls traefik) <(crane ls ghcr.io/traefik/traefik) | grep '^<' | awk '{print $2}' | while read -r tag; do [[ "$tag" =~ ^($EXCLUDED_REGEX)$ ]] || (echo "Processing image: traefik:$tag"; crane cp "traefik:$tag" "ghcr.io/traefik/traefik:$tag"); done - crane cp traefik:latest ghcr.io/traefik/traefik:latest diff --git a/.github/workflows/template-webui.yaml b/.github/workflows/template-webui.yaml deleted file mode 100644 index df52d75c1..000000000 --- a/.github/workflows/template-webui.yaml +++ /dev/null @@ -1,37 +0,0 @@ -name: Build Web UI -on: - workflow_call: {} -jobs: - - build-webui: - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup node - uses: actions/setup-node@v4 - with: - node-version-file: webui/.nvmrc - cache: yarn - cache-dependency-path: webui/yarn.lock - - - name: Build webui - working-directory: ./webui - run: | - yarn install - yarn build - - - name: Package webui - run: | - tar czvf webui.tar.gz ./webui/static/ - - - name: Artifact webui - uses: actions/upload-artifact@v4 - with: - name: webui.tar.gz - path: webui.tar.gz - retention-days: 1 diff --git a/.github/workflows/test-conformance.yaml b/.github/workflows/test-conformance.yaml deleted file mode 100644 index f1f02709b..000000000 --- a/.github/workflows/test-conformance.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: Test K8s Gateway API conformance - -on: - pull_request: - branches: - - '*' - paths: - - '.github/workflows/test-conformance.yaml' - - 'pkg/provider/kubernetes/gateway/**' - - 'integration/fixtures/k8s-conformance/**' - - 'integration/k8s_conformance_test.go' - -env: - GO_VERSION: '1.23' - CGO_ENABLED: 0 - -jobs: - - test-conformance: - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Go ${{ env.GO_VERSION }} - uses: actions/setup-go@v5 - with: - go-version: ${{ env.GO_VERSION }} - - - name: Avoid generating webui - run: touch webui/static/index.html - - - name: K8s Gateway API conformance test and report - run: | - make test-gateway-api-conformance - git diff --exit-code diff --git a/.github/workflows/test-integration.yaml b/.github/workflows/test-integration.yaml deleted file mode 100644 index f8eac5dc6..000000000 --- a/.github/workflows/test-integration.yaml +++ /dev/null @@ -1,78 +0,0 @@ -name: Test Integration - -on: - pull_request: - branches: - - '*' - paths-ignore: - - 'docs/**' - - '**.md' - - 'script/gcg/**' - -env: - GO_VERSION: '1.23' - CGO_ENABLED: 0 - -jobs: - - build: - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Go ${{ env.GO_VERSION }} - uses: actions/setup-go@v5 - with: - go-version: ${{ env.GO_VERSION }} - check-latest: true - - - name: Avoid generating webui - run: touch webui/static/index.html - - - name: Build binary - run: make binary - - test-integration: - runs-on: ubuntu-latest - needs: - - build - strategy: - fail-fast: true - matrix: - parallel: [12] - index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Go ${{ env.GO_VERSION }} - uses: actions/setup-go@v5 - with: - go-version: ${{ env.GO_VERSION }} - check-latest: true - - - name: Avoid generating webui - run: touch webui/static/index.html - - - name: Build binary - run: make binary - - - name: Generate go test Slice - id: test_split - uses: hashicorp-forge/go-test-split-action@v2.0.0 - with: - packages: ./integration - total: ${{ matrix.parallel }} - index: ${{ matrix.index }} - - - name: Run Integration tests - run: | - TESTS=$(echo "${{ steps.test_split.outputs.run}}" | sed 's/\$/\$\$/g') - TESTFLAGS="-run \"${TESTS}\"" make test-integration diff --git a/.github/workflows/test-unit.yaml b/.github/workflows/test-unit.yaml deleted file mode 100644 index 7d4a0fa66..000000000 --- a/.github/workflows/test-unit.yaml +++ /dev/null @@ -1,57 +0,0 @@ -name: Test Unit - -on: - pull_request: - branches: - - '*' - paths-ignore: - - 'docs/**' - - '**.md' - - 'script/gcg/**' - -env: - GO_VERSION: '1.23' - -jobs: - - test-unit: - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Go ${{ env.GO_VERSION }} - uses: actions/setup-go@v5 - with: - go-version: ${{ env.GO_VERSION }} - check-latest: true - - - name: Avoid generating webui - run: touch webui/static/index.html - - - name: Tests - run: make test-unit - - test-ui-unit: - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Node.js ${{ env.NODE_VERSION }} - uses: actions/setup-node@v4 - with: - node-version-file: webui/.nvmrc - cache: 'yarn' - cache-dependency-path: webui/yarn.lock - - - name: UI unit tests - run: | - yarn --cwd webui install - yarn --cwd webui test:unit:ci diff --git a/.github/workflows/validate.yaml b/.github/workflows/validate.yaml deleted file mode 100644 index 4ed5faec5..000000000 --- a/.github/workflows/validate.yaml +++ /dev/null @@ -1,87 +0,0 @@ -name: Validate - -on: - pull_request: - branches: - - '*' - -env: - GO_VERSION: '1.23' - GOLANGCI_LINT_VERSION: v2.0.2 - MISSPELL_VERSION: v0.6.0 - -jobs: - - lint: - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Go ${{ env.GO_VERSION }} - uses: actions/setup-go@v5 - with: - go-version: ${{ env.GO_VERSION }} - check-latest: true - - - name: golangci-lint - uses: golangci/golangci-lint-action@v7 - with: - version: "${{ env.GOLANGCI_LINT_VERSION }}" - - validate: - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Go ${{ env.GO_VERSION }} - uses: actions/setup-go@v5 - with: - go-version: ${{ env.GO_VERSION }} - check-latest: true - - - name: Install misspell ${{ env.MISSPELL_VERSION }} - run: curl -sfL https://raw.githubusercontent.com/golangci/misspell/HEAD/install-misspell.sh | sh -s -- -b $(go env GOPATH)/bin ${MISSPELL_VERSION} - - - name: Avoid generating webui - run: touch webui/static/index.html - - - name: Validate - run: make validate-files - - validate-generate: - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Go ${{ env.GO_VERSION }} - uses: actions/setup-go@v5 - with: - go-version: ${{ env.GO_VERSION }} - check-latest: true - - - name: go generate - run: | - make generate - git diff --exit-code - - - name: go mod tidy - run: | - go mod tidy - git diff --exit-code - - - name: make generate-crd - run: | - make generate-crd - git diff --exit-code