Commit Graph

196 Commits

Author SHA1 Message Date
Amir Zarrinkafsh
74a7e96409
ci: add integration containers for duo and haproxy (#3479)
* ci: add integration containers for duo and haproxy

This change utilises specific integration containers for the DuoPush and HAProxy suites.
In the case of DuoPush suite specifically in dev mode the container will be built on suite startup.

* ci: factorize pre-command hook and unset async on trigger steps
2022-06-04 19:38:13 +10:00
James Elliott
de53bc210c
ci: skip .editorconfig for deploy steps (#3424) 2022-05-24 22:28:45 +10:00
James Elliott
94ff0d9b8f
ci: skip crowdin untranslated (#3370) 2022-05-16 09:45:33 +10:00
James Elliott
e2bbbf496b
ci: add crowdin configuration (#3368) 2022-05-16 09:09:10 +10:00
Amir Zarrinkafsh
9b812b0b8f
ci(buildkite): exclude additional file from pre-exit clean up (#3337) 2022-05-10 17:57:04 +10:00
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