Commit graph

76 commits

Author SHA1 Message Date
dependabot[bot]
63c9531246
build(deps): bump golangci/golangci-lint-action from 8 to 9
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 8 to 9.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v8...v9)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-version: '9'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 18:20:16 +00:00
Yonas Habteab
4250dae225
Merge pull request #1025 from Icinga/gha-compliance-unify
Some checks failed
Build and Publish Container Image / build-and-publish-container-image (push) Has been cancelled
Go / build-test (macos-latest) (push) Has been cancelled
Go / build-test (ubuntu-latest) (push) Has been cancelled
Go / lint (push) Has been cancelled
Go / vet (push) Has been cancelled
Go / fmt (push) Has been cancelled
Go / modtidy (push) Has been cancelled
Go / vendor-diff (push) Has been cancelled
Integration Tests / MySQL (push) Has been cancelled
Integration Tests / PostgreSQL (push) Has been cancelled
SQL / MySQL 5.5 (push) Has been cancelled
SQL / MySQL 5.6 (push) Has been cancelled
SQL / MariaDB 10.1 (push) Has been cancelled
SQL / MariaDB 10.2 (push) Has been cancelled
SQL / MariaDB 10.3 (push) Has been cancelled
SQL / MariaDB 10.4 (push) Has been cancelled
SQL / MariaDB 10.5 (push) Has been cancelled
SQL / MariaDB 10.6 (push) Has been cancelled
SQL / MariaDB 10.7 (push) Has been cancelled
SQL / MariaDB latest (push) Has been cancelled
SQL / MySQL 5.7 (push) Has been cancelled
SQL / MySQL 8 (push) Has been cancelled
SQL / MySQL latest (push) Has been cancelled
SQL / PostgreSQL 10 (push) Has been cancelled
SQL / PostgreSQL 11 (push) Has been cancelled
SQL / PostgreSQL 12 (push) Has been cancelled
SQL / PostgreSQL 13 (push) Has been cancelled
SQL / PostgreSQL 9.6 (push) Has been cancelled
SQL / PostgreSQL latest (push) Has been cancelled
Sync For-Container.md to Docker Hub / sync (push) Has been cancelled
GHA: Unify License Compliance Workflow
2025-10-31 14:44:58 +01:00
Yonas Habteab
ae3c8d840f
Merge pull request #1026 from Icinga/golangci-lint-fixup-20251014
Address golangci-lint issues
2025-10-31 14:39:45 +01:00
dependabot[bot]
7d2a236038
build(deps): bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 18:42:26 +00:00
Alvar Penning
f1956fd9a1
golangci-lint: Add .golangci.yml configuration
Initialize a .golangci.yml configuration file based on the configuration
file from Icinga Notifications[0].

[0]: 272ecf231f/.golangci.yml
2025-10-14 15:12:57 +02:00
Alvar Penning
3b8b1788f4
GHA: Unify License Compliance Workflow
Simplify license compliance workflow by replacing the custom Perl
scripts with the go-license utility, already used by Icinga
Notifications and Icinga Kubernetes[0,1].

Afterwards, we will have (almost) identical compliance.yml workflows for
all of our Go repositories, with only the Go module name and allowed
licenses varying.

[0]: 272ecf231f/.github/workflows/compliance.yml
[1]: de88147599/.github/workflows/compliance.yml
2025-10-14 11:03:14 +02:00
dependabot[bot]
3f4dfe1a2d
build(deps): bump actions/setup-go from 5 to 6
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5 to 6.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 18:12:00 +00:00
dependabot[bot]
bf3d6dcc50
build(deps): bump actions/attest-build-provenance from 2 to 3
Bumps [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) from 2 to 3.
- [Release notes](https://github.com/actions/attest-build-provenance/releases)
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)
- [Commits](https://github.com/actions/attest-build-provenance/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/attest-build-provenance
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-29 18:09:52 +00:00
dependabot[bot]
b0470a6ed9
build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 00:53:03 +00:00
Jolien Trog
02a0bb94bc
GHA/docs: Containerized Setup
Add a new section to the documentation about installing in containerized
environments. Also, add a GitHub Action that pushes this new section to
Docker Hub to display it as the container README.
2025-05-27 11:25:21 +02:00
dependabot[bot]
ee682048e2
build(deps): bump golangci/golangci-lint-action from 7 to 8
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 7 to 8.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v7...v8)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 19:05:44 +00:00
Alvar Penning
a515b70a0b
GHA: Remove staticheck action from Go Workflow
After bumping the Go version to 1.24.1, the staticcheck-action fails
since it is outdated. No update is available. However, since staticcheck
is enabled by default in the golangci-lint action, it can be removed.
2025-04-03 11:41:40 +02:00
Eric Lippmann
0639d529e5 container-image workflow: Tag latest/major version only when applicable
To ensure the workflow is reusable across our repositories, it must support
releasing from different release trains, such as when issuing bugfix or
security releases for older versions alongside newer ones. This change
introduces custom logic to determine when to apply the latest tag and major
version tags. The docker/metadata-action unconditionally applies these tags,
which could override existing greater tags. The new logic compares the current
release tag against all existing tags using semantic versioning rules, a
feature not inherently provided by docker/metadata-action.
2025-04-03 10:45:11 +02:00
Eric Lippmann
5cadc05782 container-image workflow: Explicitly use actions/checkout
Use the checkout action explicitly to fetch all tags, rather than relying on
docker/build-push-action's implicit checkout. This allows us to implement
custom logic for tagging as 'latest' and with the appropriate major version
when applicable.
2025-04-03 09:29:04 +02:00
Eric Lippmann
dea6b57fa9
Merge pull request #916 from Icinga/dont-push-attestations-to-image-registries
`container-image` workflow: Don't push attestations to image registries
2025-04-01 11:26:29 +02:00
Eric Lippmann
4de9259009 container-image workflow: Don't push attestations to image registries
Without further investigation, this only seems to push the image with the
digest as a tag, which only pollutes the registry.
2025-04-01 09:47:21 +02:00
Eric Lippmann
f1dafb6e86 container-image workflow: Tag latest only on release 2025-04-01 09:37:10 +02:00
Eric Lippmann
0647813c65 GitHub Actions: Add container-image workflow
This workflow builds and publishes container images directly from this
repository. Here is a summary of its initial setup for reference:

The Build and Publish Container Image workflow builds container images and
pushes them to both GitHub Container Registry (GHCR) and Docker Hub. It sets up
QEMU and Docker Buildx for cross-platform builds, and builds the container
images using the Containerfile. Upon pushes to the main branch or when releases
are published, it logs into GHCR and Docker Hub using credentials from GitHub
secrets, tags and pushes the images to both registries, and generates and
pushes signed build provenance attestations to each registry. The workflow also
triggers for pull requests to the main branch, verifying only the image build.
2025-03-31 13:58:26 +02:00
Eric Lippmann
7abdec86ad GitHub Actions: Remove docker workflow
The workflow using https://github.com/Icinga/docker-icingadb for building and
publishing container images is now obsolete. We will replace it with a new
workflow that builds and pushes container images directly from this repository.
2025-03-31 13:58:26 +02:00
dependabot[bot]
d224f8b74f
build(deps): bump golangci/golangci-lint-action from 6 to 7
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6 to 7.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 18:36:43 +00:00
Alvar Penning
14d4070ad7
GHA: introduce golangci-lint
The same GitHub Action already used in the icinga-go-library was added
to the Go workflow.
2024-10-11 09:53:24 +02:00
Eric Lippmann
5e8104110a
Merge pull request #809 from Icinga/gha-go-build-test-remove-gcflags-m
GHA: Remove -gcflags="-m" from go build
2024-09-19 10:42:00 +02:00
Yonas Habteab
c380cc3b23
Merge pull request #817 from Icinga/dependabot/github_actions/actions/checkout-4
build(deps): bump actions/checkout from 2 to 4
2024-09-18 13:33:40 +02:00
dependabot[bot]
99532fed44
build(deps): bump actions/checkout from 2 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 11:19:34 +00:00
Yonas Habteab
1a683a7775
Merge pull request #816 from Icinga/dependabot/github_actions/dominikh/staticcheck-action-1.3.1
build(deps): bump dominikh/staticcheck-action from 1.1.0 to 1.3.1
2024-09-18 13:19:25 +02:00
dependabot[bot]
8326907bb1
build(deps): bump dominikh/staticcheck-action from 1.1.0 to 1.3.1
Bumps [dominikh/staticcheck-action](https://github.com/dominikh/staticcheck-action) from 1.1.0 to 1.3.1.
- [Release notes](https://github.com/dominikh/staticcheck-action/releases)
- [Changelog](https://github.com/dominikh/staticcheck-action/blob/master/CHANGES.md)
- [Commits](29e9b80fb8...fe1dd0c365)

---
updated-dependencies:
- dependency-name: dominikh/staticcheck-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 11:07:58 +00:00
dependabot[bot]
0be3bf9bc8
build(deps): bump actions/setup-go from 4 to 5
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 11:07:40 +00:00
dependabot[bot]
a2653fbcd7
build(deps): bump actions/upload-artifact from 2 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 10:42:28 +00:00
Alvar Penning
4fb0b7429d
GHA: Remove -gcflags="-m" from go build
According to "go tool compile", the "-m" flag results in "print[ing]
optimization decisions". Those are shown on GitHub PRs as errors.

In my opinion, this behavior is misleading and has no real benefit.
2024-09-09 09:55:49 +02:00
Alexander Aleksandrovič Klimov
7e6db393a6
GHA: also test MySQL 8 2024-07-12 16:37:03 +02:00
Julian Brost
05c8b7d103 GitHub Actions: remove version check
This check turned out to be not very helpful. Typically, you will first
increase the version number in the source, make it a PR, review it, merge it
and only aftewards, tag the version. In this PR, the check is always
complaining if you did not forget to do something.
2023-08-08 15:06:27 +02:00
Julian Brost
74686888f1 GitHub Actions: also run on support branches 2023-08-08 11:59:14 +02:00
Julian Brost
704111a262 GitHub Actions: change master to main
The branch was renamed, the same change has to be done in the GitHub Actions
config so that the workflow continue to run.
2023-08-07 15:32:15 +02:00
Julian Brost
ab42fab540 GitHub Actions: use actions/setup-go@v4 and go-version: 1.x
There was a mix of diferent action and Go versions specified throughout the
GitHub Actions workflow configs. In general, we want to be compatible with the
latest Go 1.x version, so just specify that instead of bumping versions
everywhere when necessary.

At the same time, bump the actions/setup-go to v4, the latest currently
available version. This prefers versions already cached on the runner and
enables automatic caching for dependencies.
2023-08-04 12:50:31 +02:00
Julian Brost
0baaf74174
GitHub Actions: run Go lint job with at least 1.19
The jobs were failing and the output contained: "note: module requires Go 1.19" (e.g. https://github.com/Icinga/icingadb/actions/runs/4233417770/jobs/7354361633)
2023-02-21 15:08:56 +01:00
Alexander A. Klimov
7bd475b2fe GHA: handle changed interface of Icinga/docker-icingadb 2023-02-02 10:38:55 +01:00
Alexander A. Klimov
2f5d5ea931 cmd/ido2icingadb: compute previous progress 2022-10-11 10:17:47 +02:00
Alexander A. Klimov
05c736aa8f .../compliance/check-licenses.sh: also check UNLICENSE 2022-10-11 10:17:47 +02:00
Julian Brost
5d2c8fc10b Show diff of dependencies in GitHub Actions
dependabot adds a link showing the diff of the dependency but when there are
changes in indirect dependencies, these have to be diffed manually. This commit
vendors the dependencies before and after a PR and outputs the diff.
2022-08-19 16:03:55 +02:00
Eric Lippmann
8544878695 CI: Check version 2022-06-29 15:42:04 +02:00
Julian Brost
873eb9cd3e Integration tests: use separate artifact names for MySQL/PostgreSQL
If I remember correctly, some time ago you were able to download artifacts from
the job page, i.e. there was no issues with two jobs using the same artifact
name within one workflow. Now it looks like you can only download the artifacts
from the workflow page, so this commit allows you to download both files from
there.
2022-05-17 15:36:12 +02:00
Julian Brost
5ea82188dc SLA reporting: tests for the SQL stored function 2022-05-13 12:04:47 +02:00
Alexander A. Klimov
55bb574304 Require Go v1.18+ 2022-03-30 13:40:24 +02:00
Alexander Aleksandrovič Klimov
d80543992d
Remove obsolete comment
That Go version doesn’t differ from the mainly used one.
2022-03-30 13:02:40 +02:00
Julian Brost
02fd728579 Port integration tests to PostgreSQL 2022-03-15 15:17:19 +01:00
Alexander A. Klimov
23d8938251 .github/workflows/compliance/anonymize-license.pl: handle github.com/lib/pq license
refs #136
2022-03-09 18:49:45 +01:00
Alexander A. Klimov
eb46325744 GHA: use latest staticcheck version
not a hardcoded one.

This action takes care of that.
2022-01-31 18:17:46 +01:00
Alexander A. Klimov
6f54f94e99 GHA: go mod tidy
If this changes go.*, complain about the non-perfect file(s).
2022-01-21 11:02:13 +01:00
Julian Brost
8bacc4dd96
Run daily integration tests
As those also implicitly test code in the icinga2 repo, it makes sense to run them periodically to notice if we break something over there.
2022-01-11 14:38:10 +01:00
Alexander A. Klimov
777fbe0a3c .github/workflows/compliance.yml: assert GPLv2 compatibility of all deps' licenses 2021-11-09 15:12:41 +01:00