Commit Graph

191 Commits

Author SHA1 Message Date
Amir Zarrinkafsh
91c0c81818
refactor(suites): stop integration tests on first failure (#3270)
* refactor(suites): stop integration tests on first failure

* refactor(suites): remove additional nginx instance

* refactor(suites): log relevant containers

* refactor(suites): add traefik2 logs to stdout

* refactor(suites): explicitly enable traefik for tests

* refactor(suites): remove redis restart and duplicate pathprefix tests

* ci(buildkite): allow manual retry on integration tests
2022-05-02 14:50:37 +10:00
Amir Zarrinkafsh
4d3efb0da3
ci(buildkite): clean /tmp at the conclusion of each job (#3268)
* ci(buildkite): clean /tmp at the conclusion of each job

* fix: cleanup with sudo to remove 000 perm files
2022-04-29 12:23:51 +10:00
Amir Zarrinkafsh
75db513bfc
ci(buildkite): add qemu registration for specific nodes (#3262) 2022-04-28 21:21:41 +10:00
Amir Zarrinkafsh
e84299cc1c
ci(buildkite): allow manual retry on passed coverage step (#3254) 2022-04-27 11:49:47 +10:00
Amir Zarrinkafsh
43550b2d92
ci(buildkite): adjust debhelper step for new makedeb spec (#3231)
makedeb v14.0.0 has [changes](https://github.com/makedeb/makedeb/releases/tag/v14.0.0-stable) which have resulted in the PKGBUILD specification changing.

This PR adjusts the PKGBUILD per the required makedeb specification.
2022-04-22 18:10:49 +10:00
Amir Zarrinkafsh
2e679169dc
ci(buildkite): remove go module index update hook (#3216) 2022-04-19 12:00:57 +10:00
Amir Zarrinkafsh
8ba586e955
ci(buildkite): prevent pre-exit hook on setup steps (#3076)
* ci(buildkite): prevent pre-exit hook on setup steps

Occasionally due to node issues the pre-exit hook for docker image cleanups can fail, causing the otherwise successful job to bail out. This change ignores the cleanup on setup steps.
2022-03-30 11:24:50 +11:00
James Elliott
5d0b68ebea
build: utilize new makedeb spec (#2980)
This adds the adjustments needed for the new makedeb version to package conffiles.

Fixes #2817
2022-03-09 11:18:21 +11:00
Amir Zarrinkafsh
dfa2a0d1b0
ci(buildkite): use armv7l architecture and ignore check (#2792)
* ci(buildkite): use armv7l architecture and ignore check

* fix: only ignore architecture check for armhf
2022-01-12 22:08:05 +11:00
James Elliott
ec1cc3d64e
ci: skip deploy aur step on master branch (#2668) 2021-12-03 17:10:09 +11:00
James Elliott
a689ffe372
ci: publish authelia-git aur only on releases (#2666) 2021-12-03 15:56:31 +11:00
Amir Zarrinkafsh
dbbb506fa5
ci(buildkite): fix missing commit in build-info for authelia aur package (#2609) 2021-11-18 11:57:11 +11:00
Amir Zarrinkafsh
6c37ea3837
release: v4.32.0 (#2474) 2021-10-08 15:40:54 +11:00
Amir Zarrinkafsh
a3e84769b5
feat(web): replace cra with vite (#2457)
* feat(web): replace cra with vite

* fix: add istanbul
* fix: add jest
* fix: inject env vars
* fix: replicate cra output directories
* fix: post-frontend build for go templating
* fix: dynamic publicpath

* fix(web): import resolution with aliases for .module.css files

* refactor(server): baseurl var

* refactor(web): drop babel-jest for esbuild-jest

* refactor(web): add inline sourcemap for coverage bundle

* build(deps): update web deps

* build(deps): downgrade vite-plugin-istanbul to 2.2.0

98bf77dbaa is a breaking change that means production mode builds can no longer be instrumented.

* refactor(web): match frontend name and version

* refactor(web): drop cra readme
2021-10-08 15:00:06 +11:00
Amir Zarrinkafsh
b606ec6752
ci(buildkite): add agent control to standalone job (#2469) 2021-10-08 12:08:43 +11:00
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