release.md
The release process of the falco.org is automated by using netlify. Each commit merged into the master branch will be automatically deployed to falco.org.
You can find the last deploy status by clicking on this badge.
However, the above workflow only applies to the latest version of the website that refers to the latest released version of Falco. Starting from version Falco v0.27.0, we introduced a versioning mechanism for our website. Please follow the below instruction when switching to a new minor version (according to the semantic versioning definition).
We archive a snapshot of the whole website every time a new Falco minor version comes out.
Each snapshot will be published to a falco.org subdomain named by the Falco version without the patch number (e.g., Falco version v0-26.falco.org refers to the latest available patch version of Falco series v0.26.x).
You can find the first-ever archived snapshot at v0-26.falco.org. It refers to Falco v0.26.2.
Finally, once a snapshot for the previous version has been created, you need to configure the main website to point to the newest Falco minor version.
The following instructions assume v0.x.y is the version to be archived.
Create the new v0.x branch from the current master branch.
Configure the branch deploy control on Netlify by adding the newly created branch v0.x.
Within the v0.x branch, edit the config/_default/versions/params.yaml file:
archived_version to true,version is equal to v0.x.y,v0.x.y (i.e., the previous version) as following:versions:
- fullversion: v0.x.y
version: v0.x
githubbranch: 0.x.y
docsbranch: v0.x
url: https://v0-x.falco.org/
v0.x.Once the Netlify branch build is done (see the Deploys section), add a new branch subdomain on Netilify by selecting the branch deploy configured in the previous step.
Open a PR in falcosecurity/test-infra to add v0.x as protected branch to the prow/config.yaml, for example:
falco-website:
branches:
master:
protect: true
v0.26:
protect: true
...
v0.x:
protect: true
N.B. Do not update the minor version until a snapshot for the previous one has been created!
The following instructions assume v0.X.Y is the new version and v0.x.y is the previous already-archived version.
master branch:
version field is set to v0.X.Y (i.e., the new version). version: v0.X.Y
rules* fields are updated to the relevant versions.versions: line. Make sure the indentation is right (it should align with the adyacent blocks) and tabs should be avoided. - fullversion: v0.X.Y
version: v0.X
githubbranch: master
docsbranch: master
url: https://falco.org/
v0.x.y (i.e., the previous version) as following: - fullversion: v0.x.y
version: v0.x
githubbranch: 0.x.y
docsbranch: v0.x
url: https://v0-x.falco.org/
Once the old website has been archived, any change to pages that should be updated for new versions can be merged. At least two changes must be made at every release. Using the new Falco binary or container:
falco --list-events --markdown > ./content/en/docs/reference/rules/supported-events/supported-events.mdfalco --list=syscall --markdown | sed -E 's/## Field Class/### Field Class/g' | awk '!/^Event Sources: syscall\w*/' | awk '/Field Class: evt/{c++;if(c==2){sub("evt","evt (for system calls)");c=0}}1' > ./content/en/docs/reference/rules/supported-fields/supported-fields.md