Commit Graph

176 Commits

Author SHA1 Message Date
Amir Zarrinkafsh
4161fbd818
ci(codecov): utilise new codecov uploader for coverage (#2467)
* ci(codecov): utilise new codecov uploader for coverage

The codecov bash uploader is being [deprecated](https://docs.codecov.com/docs/about-the-codecov-bash-uploader).

This utilises the new uploader which is recommended.

* ci(codecov): adjust file search path and name uploads

* fix(suites): coverage paths for codecov
2021-10-08 11:17:08 +11:00
Amir Zarrinkafsh
26de57a297
ci(buildkite): skip front/backend builds for renovate deps (#2462)
* ci(buildkite): skip front/backend builds for renovate deps

* ci(buildkite): make unit-test artifact compression conditional
2021-10-07 09:45:37 +11:00
Amir Zarrinkafsh
a32d030144
ci(buildkite): remove automatic retries for lint step (#2435)
* ci(buildkite): remove automatic retries for lint step

* refactor(web): refactor commitlint hook for windows
2021-10-02 15:56:46 +10:00
Amir Zarrinkafsh
3d312cf3b9
refactor: replace yarn with pnpm (#2424)
* Check for pnpm in authelia-scripts
* Improve husky hooks to check for required apps
* Use pnpm in coverage dockerfile
* Use pnpm in dev workflow
* Stop buildx log truncation
* Ignore pnpm lockfile in yamllint
* Update versions required for docker and docker-compose in contributing docs
2021-09-29 17:24:21 +10:00
Amir Zarrinkafsh
c9f5b3de88
feat(web): replace babel-loader and terser with esbuild (#2422) 2021-09-28 16:27:06 +10:00
Amir Zarrinkafsh
bd6a8e3ea2
feat: hardened authelia binaries (#2410)
* feat: hardened authelia binaries

This change ensures that all Authelia binaries which are compiled and distributed are hardened with the following standards:

* RELRO
* Stack canary
* NX
* PIE/ASLR
* Stripped RPATH AND RUNPATH
* Stripped Symbols
* Fortify

The musl variants currently [do not support Fortify](https://wiki.musl-libc.org/future-ideas.html#Fortify).

* refactor: docker pull for authelia/crossbuild in background
2021-09-26 12:08:47 +10:00
Amir Zarrinkafsh
7ab6175cf4
ci(buildkite): fix post-manifest tag cleanup (#2395) 2021-09-18 18:09:19 +10:00
Amir Zarrinkafsh
cb0b9a09ab
ci(buildkite): improve logging for post-manifest tag cleanup (#2394) 2021-09-18 15:48:23 +10:00
Amir Zarrinkafsh
7bb878ffff
ci(buildkite): fix ghcr tag cleanup (#2390)
* ci(buildkite): fix ghcr tag cleanup

* ci(buildkite): do not remove empty tags
2021-09-18 00:15:43 +10:00
Amir Zarrinkafsh
57a35abd3b
ci(buildkite): fix index update post release (#2388) 2021-09-17 20:59:41 +10:00
Amir Zarrinkafsh
26aa806e9c
release: v4.31.0 (#2387) 2021-09-17 20:08:15 +10:00
Amir Zarrinkafsh
fad6317bb5
ci(buildkite): remove test concurrency step (#2384)
* ci(buildkite): remove test concurrency step

* fix: remove concurrency_group from integration test steps
2021-09-17 11:09:38 +10:00
Amir Zarrinkafsh
57705be468
refactor: use authelia/debpackager:latest manifest (#2383) 2021-09-17 10:08:57 +10:00
Amir Zarrinkafsh
92ec00d7c5
feat: builds with gox and buildx (#2381)
* feat: builds with gox and buildx

This change builds all of Authelia respective binaries in parallel within a single step and distributes as necessary to subsequent steps, we now also build and distribute for the following OS/Architecture: freebsd/amd64.

Our CI/CD pipeline now also utilises docker buildx as a default for builds and pushes.

* refactor: clean up docker helper

* Remove `authelia-scripts docker push-image` command as all pushes will be performed with buildx and manifests
* Rename the --arch flag to --container
* Add Dockerfile.dev for users that want to build an Authelia container from source without utilising suites
* Set Dockerfile.dev as default for `authelia-scripts docker build` command

* refactor: variant -> container
2021-09-16 22:39:18 +10:00
Amir Zarrinkafsh
4e94d264dd
ci(buildkite): force module index update on tagged release (#2376) 2021-09-14 20:29:23 +10:00
Amir Zarrinkafsh
7f22db10d8
release: v4.30.5 (#2375) 2021-09-14 17:57:16 +10:00
Amir Zarrinkafsh
e4d1efacaa
ci(buildkite): update to authelia/debpackager (#2362) 2021-09-13 18:46:53 +10:00
James Elliott
862f60a3f2
release: v4.30.4 (#2282) 2021-08-11 11:47:03 +10:00
James Elliott
c67d785879
release: v4.30.3 (#2277) 2021-08-10 13:19:05 +10:00
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