Skip to content

[9.1] (backport #19136) build(deps): bump github.com/elastic/elastic-… #23055

[9.1] (backport #19136) build(deps): bump github.com/elastic/elastic-…

[9.1] (backport #19136) build(deps): bump github.com/elastic/elastic-… #23055

Workflow file for this run

name: ci
on:
push:
branches:
- main
- 7.1*
- 8.*
- 9.*
paths-ignore: # When updating the list of expressions also update ci-docs.yml
- '**.md'
- '**.asciidoc'
- '**.png'
- '**.svg'
pull_request:
paths-ignore: # When updating the list of expressions also update ci-docs.yml
- '**.md'
- '**.asciidoc'
- '**.png'
- '**.svg'
merge_group:
# limit the access of the generated GITHUB_TOKEN
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- uses: actions/cache@v4
with:
path: |
~/go/pkg/mod/cache
key: go-${{ hashFiles('go.mod') }}
restore-keys: |
go-
- run: make check-full
test:
strategy:
matrix:
os: ['macos-latest', 'ubuntu-latest', 'windows-2025']
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- uses: actions/cache/restore@v4
with:
enableCrossOsArchive: true
path: |
~/go/pkg/mod/cache
key: go-${{ hashFiles('go.mod') }}
restore-keys: |
go-
- run: go test -v -race ./...
test-integration-server-internal:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: integrationservertest/go.mod
cache: false
- uses: actions/cache@v4
with:
path: |
~/go/pkg/mod/cache
key: integrationservertest-go-${{ hashFiles('integrationservertest/go.mod') }}
restore-keys: |
integration-server-test-go-
- env:
KIBANA_URL: "https://kibana.test"
KIBANA_USERNAME: "dummy"
KIBANA_PASSWORD: "dummy"
EC_URL: "https://elastic-cloud.test"
EC_API_KEY: "dummy"
EC_REGION: "gcp-us-west2"
# run integrationservertest/internal tests
# integrationservertest themselves are run in the integration-server-test pipeline
run: cd ./integrationservertest && go test -v -race ./internal/...
test-fips:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- uses: actions/cache@v4
with:
path: |
~/go/pkg/mod/cache
key: go-${{ hashFiles('go.mod') }}
restore-keys: |
go-
- env:
GOFIPS140: "latest"
# TODO: disable X25519MLKEM768 until upstream go issue is fixed https://github.com/golang/go/issues/74630#issuecomment-3224191006
GODEBUG: "fips140=only,tlsmlkem=0"
run: go test -v -race -tags=requirefips ./...
system-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: systemtest/go.mod
cache: false
- run: docker compose up -d
- uses: actions/cache@v4
with:
path: |
~/go/pkg/mod/cache
key: systemtest-go-${{ hashFiles('systemtest/go.mod', 'go.mod') }}
restore-keys: |
systemtest-go-
- env:
GOTESTFLAGS: "-v"
GH_TOKEN: ${{ github.token }}
run: make system-test
system-test-fips:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: systemtest/go.mod
cache: false
- run: docker compose up -d
- uses: actions/cache@v4
with:
path: |
~/go/pkg/mod/cache
key: systemtest-go-${{ hashFiles('systemtest/go.mod', 'go.mod') }}
restore-keys: |
systemtest-go-
- env:
GOTESTFLAGS: "-v -tags=requirefips"
GOFIPS140: "latest"
# TODO: disable X25519MLKEM768 until upstream go issue is fixed https://github.com/golang/go/issues/74630#issuecomment-3224191006
GODEBUG: "fips140=only,tlsmlkem=0"
GH_TOKEN: ${{ github.token }}
run: make system-test
test-package:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- run: make package-snapshot
env:
GH_TOKEN: ${{ github.token }}
test-package-and-push:
runs-on: ubuntu-latest
# If no PR event or if a PR event that's caused by a non-fork and non dependabot actor
if: github.event_name != 'pull_request' || ( github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false && github.actor != 'dependabot[bot]' )
env:
GENERATE_WOLFI_IMAGES: true
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- name: Log in to the Elastic Container registry
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
registry: ${{ secrets.ELASTIC_DOCKER_REGISTRY }}
username: ${{ secrets.ELASTIC_DOCKER_USERNAME }}
password: ${{ secrets.ELASTIC_DOCKER_PASSWORD }}
- run: make package-snapshot
env:
GH_TOKEN: ${{ github.token }}
- run: make publish-docker-images
# Only for forked PRs, when changing the .go-version, then we need to note that the wolfi docker image needs to be
# validated
validate-wolfi-docker-image:
runs-on: ubuntu-latest
if: ( github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true ) || github.actor == 'dependabot[bot]'
steps:
- uses: actions/checkout@v4
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46.0.5
with:
files: .go-version
- name: If .go-version changed validate docker image is available.
if: steps.changed-files.outputs.any_changed == 'true'
run: |
echo "If you change the .go-version please use a branch in the upstream repository to validate the wolfi images with test-package-and-push."
echo "Otherwise, this validation will run and fail the CI build."
echo "Please validate the wolfi image is available by running the following command:"
echo "::notice::docker pull docker.elastic.co/wolfi/go:$(cat .go-version)"
echo "If they are available you could skip this validation."
echo "However, we recommend to use an upstream branch to run the CI specialised steps for the packaging system."
exit 1