Commit Graph

157 Commits

Author SHA1 Message Date
Amir Zarrinkafsh
327765f132
ci(buildkite): allow manual retry on successful steps (#2267)
This permits manual retry on specific steps which can cause problematic issues for example when a node runs out of disk space.

By allowing this we should be able to recover problematic builds instead of forcing a complete rebuild which may be undesirable on the `master` or other production branches.
2021-08-07 11:04:21 +10:00
Amir Zarrinkafsh
87550d1957
ci(buildkite): add [skip-test] and [test-skip] conditionals (#2265)
If a commit message includes either `[skip-test]` or `[test-skip]` a some CI steps will be ignored.

This is to allow rapid deployments and prototyping when attempting fixes, under no circumstances should any PR to master be accepted with said tags/conditionals.
2021-08-07 10:06:42 +10:00
James Elliott
da03405646
release: v4.30.2 (#2255) 2021-08-07 08:51:47 +10:00
James Elliott
80adbf095e
release: v4.30.1 (#2249) 2021-08-05 21:01:43 +10:00
Amir Zarrinkafsh
e930b76464
ci(buildkite): allow retry on successful docker deploy steps (#2246)
Occasionally during a manifest deployment tags can be removed and the step may fail. To ensure the manifest step can be completed successfully it would require re-pushing the tags that had been removed.

Turning on the `permit_on_passed` option allows us to control this all through the Buildkite interface as opposed to manual intervention.
2021-08-05 18:52:30 +10:00
Amir Zarrinkafsh
b415770548
ci(buildkite): fix apt repo readme (#2245)
Image links in the apt repo README.md were broken as the file uploaded without the necessary modifications.
2021-08-05 16:58:08 +10:00
Amir Zarrinkafsh
3422062697
ci(buildkite): make test concurrency gate conditional (#2242)
This ensures that the test concurrency gate step does not run on tagged releases are the integration steps are also skipped.
2021-08-05 16:19:18 +10:00
James Elliott
061220dba2
release: v4.30.0 (#2241) 2021-08-05 14:49:24 +10:00
James Elliott
71fe953a4e
ci: skip integration test stage for examples (#2220)
This skips integration tests for any commits/PR's that only make changes to the examples/ folder as it's not a change that requires this check.
2021-08-02 13:32:04 +10:00
Amir Zarrinkafsh
a59081890b
docs: add code of conduct (#2214)
Create CODE_OF_CONDUCT.md.
2021-07-30 16:46:06 +10:00
Amir Zarrinkafsh
711b5ff0db
feat: publish and deploy to apt.authelia.com (#2148)
This automates the process of publishing our `*.deb` files for stable Authelia releases to apt.authelia.com.
2021-07-05 12:49:48 +10:00
Amir Zarrinkafsh
636991031d
ci(buildkite): fix conditional for debian packages (#2123) 2021-06-27 13:58:58 +10:00
Amir Zarrinkafsh
4349adb090
ci(buildkite): add conditional for debian package builds with dep bumps (#2121) 2021-06-26 13:56:54 +10:00
Amir Zarrinkafsh
93e20a44e9
feat: build and distribute .deb packages (#2114)
* feat: build and distribute .deb packages

Creates .deb packages for distribution via GitHub releases and Buildkite builds for the following architectures:

* amd64
* armhf
* arm64

* fix: pkgver reference in debpackages.sh

* refactor: split deb packaging jobs and quote variables

* fix: pipeline upload for debpackages

* fix: depends_on key for debpackages

* fix: add depends_on: ~ for debpackages step

* fix: pre-artifact hook for debpackages

* fix: add .deb suffix in pre-artifact hook

* fix: variable reference in debhelper.sh

* refactor: silence wget output in debhelper.sh

* refactor: make build concurrency gate only depend_on docker builds

* refactor: make build concurrency gate also depend_on coverage build

* refactor: remove dependencies for build concurrency gate
2021-06-26 11:45:21 +10:00
Amir Zarrinkafsh
756aee507f
refactor: cra build path (#2117)
* refactor: cra build path

The `authelia-scripts` helper currently performs steps to move files around in different stages of development and CI/CD.

We now utilise the `BUILD_PATH` environment variable to adjust the output directory for the web frontend from the default of `./web/build/` simplifying the helper somewhat.

Additionally we no longer build the Go binary in the unit test stage of our CI/CD as this is not necessary.

* fix: build output directory in coverage dockerfile
2021-06-25 21:53:20 +10:00
Amir Zarrinkafsh
91a2cc1caa
ci(buildkite): add notification webhook for blocked PRs (#2077) 2021-06-10 13:23:23 +10:00
Amir Zarrinkafsh
2b95acb82a
ci(buildkite): add tag for highavailability suite (#2038)
Allows granular control for node assignment on the high availability testing suite.
2021-05-27 14:23:56 +10:00
James Elliott
9d6ad5aa94
release: v4.29.4 (#2025) 2021-05-24 09:26:08 +10:00
James Elliott
70002108bd
release: v4.29.3 (#2015) 2021-05-21 22:34:37 +10:00
James Elliott
40fc1cdc6d
release: v4.29.2 (#1998) 2021-05-11 11:21:15 +10:00
James Elliott
cf63f84753
release: v4.29.1 (#1985) 2021-05-07 12:22:01 +10:00
Clément Michaud
4e8d472e46
release: v4.29.0 (#1972)
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>
2021-05-05 11:46:07 +10:00
Amir Zarrinkafsh
3d08e03592
ci(buildkite): log ghcr id on branch tag removal (#1929) 2021-04-18 14:20:45 +10:00
James Elliott
c16edda893
release: v4.28.2 (#1928) 2021-04-18 11:01:39 +10:00
James Elliott
2f1e45071a
release: v4.28.1 (#1924) 2021-04-16 12:20:31 +10:00
Clément Michaud
7c18081f57
ci: include version in the name of tar.gz artifacts (#1919)
This makes sure the version is included in GitHub artifacts.

Fix #1918

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-04-15 17:56:32 +10:00
Clément Michaud
80216b9474
release: 4.28.0 (#1910) 2021-04-13 21:10:56 +10:00
James Elliott
d33d6c2f00
ci: add yamllint (#1895)
This change implements yamllint and adjusts all yaml files to abide by our linting setup. This excludes config.template.yml as this will be done in an alternate commit.
2021-04-11 06:51:00 +10:00
Amir Zarrinkafsh
0cf54214a0
ci(buildkite): log ghcr id on tag removal (#1889) 2021-04-06 11:49:13 +10:00
James Elliott
6ea62657d9
release: v4.27.4 (#1872) 2021-03-30 16:34:11 +11:00
Amir Zarrinkafsh
e816a2e563
ci: publish docker images to ghcr (#1860)
* ci: publish docker images to ghcr

* ci: remove ghcr images with no tags

* ci: remove unnecessary ghcr jq args for empty tags

* ci: move ghcr empty tag clean up

Publishes Docker container images on both DockerHub and GitHub Container Registry.
2021-03-30 09:17:19 +11:00
James Elliott
92f3de28bb
release: v4.27.3 (#1866) 2021-03-29 12:24:05 +11:00
James Elliott
5b9f505e6c
docs: add issue templates (#1847)
* docs: add issue templates
* ci: skip .github/ dir
2021-03-24 09:50:11 +11:00
James Elliott
4f5bda768b
release: v4.27.2 (#1822) 2021-03-13 16:34:39 +11:00
James Elliott
2fabfecb55
release: v4.27.1 (#1801) 2021-03-11 12:29:07 +11:00
James Elliott
1e46ec6c44
ci: restore dependabot rules (#1797)
Restores the dependabot rules in buildkite for the purpose of security fixes which are handled by dependabot still.
2021-03-10 15:53:33 +11:00
James Elliott
98b47227ee
release: v4.27.0 (#1795) 2021-03-10 11:53:49 +11:00
Amir Zarrinkafsh
582ca4cbb1
ci(buildkite): optimise job to agent assignment (#1754)
Split out unit-testing jobs to ensure that the workloads are evenly spread.
2021-02-22 14:24:01 +11:00
Amir Zarrinkafsh
49aa5e0eb8
ci(buildkite): change to concurrency gates (#1752)
* ci(buildkite): change to concurrency gates

Continuation of #1751.

* ci(buildkite): optimise concurrency gates
2021-02-22 12:48:20 +11:00
Amir Zarrinkafsh
6daeaf4e47
ci(buildkite): add concurrency limits to build and test steps (#1751)
Due to the unpredictability of changes that Renovate can submit this PR will allow us to control the number of jobs that will run simultaneously per step.
2021-02-22 11:13:51 +11:00
James Elliott
8bc7ef5d8f
release: v4.26.2 (#1736) 2021-02-22 09:02:15 +11:00
Amir Zarrinkafsh
2c32343885
release: v4.26.1 (#1718) 2021-02-12 22:15:01 +11:00
Amir Zarrinkafsh
8c79e6beca
ci(buildkite): utilise conventional-changelog for release notes (#1714)
Instead of generating our changelog based on crude modifications utilising git log we now utilise conventional-changelog.

conventional-changelog utilises the angular commit structure to categorise and display the changelog for 3 types (fix,feat,perf) and each of the change scopes are identified in the changelog too.

An example of the output for v4.26.0 can be found below:

# [4.26.0](https://github.com/authelia/authelia/compare/v4.25.2...v4.26.0) (2021-02-02)

### Bug Fixes

* **handlers:** refresh user details on all domains ([#1642](https://github.com/authelia/authelia/issues/1642)) ([60ff16b](60ff16b518))

### Docker Container
* `docker pull authelia/authelia:4.26.0`
2021-02-12 14:00:36 +11:00
James Elliott
9e1b6ba82e
ci: consider .all-contributorsrc a docs file for the pipeline (#1704)
* ci: consider .all-contributorsrc a docs file for the pipeline

This change prevents the unit/integration testing and image deployment similar to other docs only changes.
2021-02-05 14:26:16 +11:00
Amir Zarrinkafsh
aac5170ddc
ci: remove dependabot (#1696)
da5892faad introduced renovate to Authelia.
Now that it has been evaluated dependabot is no longer necessary and can be removed.
2021-02-04 13:06:23 +11:00
Amir Zarrinkafsh
182ada6fff
release: v4.26.0 (#1682) 2021-02-02 12:23:37 +11:00
Amir Zarrinkafsh
d71dbd4858
ci(buildkite): update buildkite deployment steps (#1678)
This PR modifies the Buildkite CI pipeline with the following changes:

* Add `SECURITY.md` to CI_BYPASS
* Skip Docker {amd64,arm32v7,arm64v8} builds for renovate PRs
* Ensure Deploy Manifest step only is assigned to deployment nodes
2021-01-31 11:49:36 +11:00
renovate[bot]
da5892faad
ci: configure renovate (#1643)
* Add renovate.json

* Update renovate configuration

* Fix labelling

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2021-01-30 14:28:23 +11:00
James Elliott
bab776b850
[RELEASE] v4.25.2 (#1608) 2021-01-17 11:09:29 +11:00
Amir Zarrinkafsh
8bab8d47ef
[MISC] Add CLI suite (#1597)
This change adds a new integration testing suite "CLI".

The intent of this suite is to test, validate and capture coverage for Authelia's commands via the CLI.
2021-01-16 21:25:02 +11:00