summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/main.yml87
-rw-r--r--README.md2
-rwxr-xr-xscripts/list-nightly-builds.py2
-rw-r--r--site/get/index.md24
-rw-r--r--site/get/nightly-builds.md18
-rw-r--r--soupault.toml1
6 files changed, 58 insertions, 76 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 3aeb133..5dc020e 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -9,6 +9,7 @@ on:
branches:
- main
- production
+ - amplify
schedule:
- cron: "0 3 * * *"
workflow_dispatch:
@@ -17,16 +18,22 @@ on:
branch:
required: true
type: string
+ aws_amplify_region:
+ required: true
+ type: string
+ aws_amplify_app_id:
+ required: true
+ type: string
secrets:
- NETLIFY_TOKEN:
+ AWS_AMPLIFY_ACCESS_KEY_ID:
required: true
- GH_ACCESS_TOKEN:
+ AWS_AMPLIFY_SECRET_ACCESS_KEY:
required: true
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
- build:
+ deploy:
environment:
name: ${{ github.ref_name }}
@@ -35,55 +42,37 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- # If the workflow is called from this repo, check out the branch it's called from
- - uses: actions/checkout@v4
- if: ${{ inputs.branch == '' }}
- with:
- repository: vyos/community.vyos.net
- ref: ${{ github.ref_name }}
-
- # If the workflow is called externally, check out the branch from its inputs
- - uses: actions/checkout@v4
- if: ${{ inputs.branch != '' }}
- with:
- repository: vyos/community.vyos.net
- ref: ${{ inputs.branch }}
-
- - name: Install build dependencies from the repos
+ - name: Set env variables if they were NOT specified as inputs
+ if: ${{ inputs.aws_amplify_region == '' || inputs.aws_amplify_app_id == '' }}
run: |
- echo Installing build dependencies
- sudo apt-get update
- sudo apt-get -y install cmark make npm
- sudo npm install -g sass@1.32.8
- # PyGitHub changes its API recently, distros use older versions,
- # so we install it from PyPI for now
- python -m venv .
- source ./bin/activate
- pip install pygithub jinja2
+ echo "AWS_AMPLIFY_REGION=${{ vars.AWS_AMPLIFY_REGION }}" >> $GITHUB_ENV
+ echo "AWS_AMPLIFY_APP_ID=${{ vars.AWS_AMPLIFY_APP_ID }}" >> $GITHUB_ENV
+ echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV
- - name: Install soupault
- env:
- SOUPAULT_VERSION: 4.10.0
+ - name: Set env variables if they were specified as inputs
+ if: ${{ inputs.aws_amplify_region != '' && inputs.aws_amplify_app_id != '' }}
run: |
- echo Downloading and unpacking soupault
- wget https://github.com/PataphysicalSociety/soupault/releases/download/$SOUPAULT_VERSION/soupault-$SOUPAULT_VERSION-linux-x86_64.tar.gz
- tar xvf soupault-$SOUPAULT_VERSION-linux-x86_64.tar.gz
- sudo mv -v ./soupault-$SOUPAULT_VERSION-linux-x86_64/soupault /usr/bin/
-
- - name: Build the site
- env:
- GH_ACCESS_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
- # SOUPAULT_PROFILE is "staging" for the main branch,
- # it enabled a preview version warning.
- # The "live" profile simply enabled listing nightly builds
- SOUPAULT_OPTS: "--profile ${{ vars.SOUPAULT_PROFILE }} --profile live"
+ echo "AWS_AMPLIFY_REGION=${{ inputs.aws_amplify_region }}" >> $GITHUB_ENV
+ echo "AWS_AMPLIFY_APP_ID=${{ inputs.aws_amplify_app_id }}" >> $GITHUB_ENV
+ echo "BRANCH=${{ inputs.branch }}" >> $GITHUB_ENV
+
+ - name: Deploy to Amplify
run: |
- source ./bin/activate
- make all
+ curl --request POST \
+ --url https://amplify.${{ env.AWS_AMPLIFY_REGION }}.amazonaws.com/apps/${{ env.AWS_AMPLIFY_APP_ID }}/branches/${{ env.BRANCH }}/jobs \
+ --header 'Content-Type: application/json' \
+ --data '{"jobType": "RELEASE"}' \
+ --user "${{ secrets.AWS_AMPLIFY_ACCESS_KEY_ID }}:${{ secrets.AWS_AMPLIFY_SECRET_ACCESS_KEY }}" \
+ --aws-sigv4 "aws:amz:${{ env.AWS_AMPLIFY_REGION }}:amplify"
- - name: Deploy to Netlify
+ - name: Check Amplify build status
+ uses: vyos/amplify-build-status@v2.2
+ with:
+ app-id: ${{ env.AWS_AMPLIFY_APP_ID }}
+ branch-name: ${{ env.BRANCH }}
+ commit-id: HEAD
+ wait: true
env:
- NETLIFY_TOKEN: ${{ secrets.NETLIFY_TOKEN }}
- run: |
- zip -r website.zip build/
- curl --show-error --fail -H "Content-Type: application/zip" -H "Authorization: Bearer $NETLIFY_TOKEN" --data-binary "@website.zip" https://api.netlify.com/api/v1/sites/${{vars.NETLIFY_SITE_NAME}}/deploys
+ AWS_ACCESS_KEY_ID: ${{ secrets.AWS_AMPLIFY_ACCESS_KEY_ID }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_AMPLIFY_SECRET_ACCESS_KEY }}
+ AWS_REGION: ${{ env.AWS_AMPLIFY_REGION }}
diff --git a/README.md b/README.md
index cb8c530..9356248 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,5 @@
+[![vyos.net build](https://github.com/vyos/community.vyos.net/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/vyos/community.vyos.net/actions/workflows/main.yml)
+
# community.vyos.net
The VyOS community website.
diff --git a/scripts/list-nightly-builds.py b/scripts/list-nightly-builds.py
index 6d39a32..eeacd2e 100755
--- a/scripts/list-nightly-builds.py
+++ b/scripts/list-nightly-builds.py
@@ -15,7 +15,7 @@ import json
import github
import jinja2
-REPO = 'vyos/vyos-rolling-nightly-builds'
+REPO = 'vyos/vyos-nightly-build'
def list_images(repo):
images = []
diff --git a/site/get/index.md b/site/get/index.md
index b150005..da7fa4d 100644
--- a/site/get/index.md
+++ b/site/get/index.md
@@ -12,7 +12,7 @@
# Get VyOS
- VyOS has three release "channels": nightly builds, monthly snapshots, and LTS releases.
+ VyOS has two release "channels": rolling release and LTS releases.
</div>
@@ -23,24 +23,19 @@
<div class='content-div'>
<div class='nightly-builds'>
- ## Nightly builds
+ ## Rolling release
- Nightly builds are automatically produced at least once a day and include all the latest
- code (bug fixes and features) from maintainers and community contributors.
+ Rolling release builds include all latest developments from maintainers and community contributors.
+ There are no stability guarantees — anything may change, experimental features can be added,
+ and old features can be removed at any time. They are meant for development and testing.
- Nightly builds are not hand-tested before upload. A basic set of automated
- [smoke tests](https://github.com/vyos/vyos-1x/tree/current/smoketest/scripts/cli) is executed
- for each build ensuring that basic functionality is working. In addition we load arbitrary
- [configurations](https://github.com/vyos/vyos-1x/tree/current/smoketest/configs) to ensure
- there are no errors during config migration and system bootup.
-
- Nightly builds are for you if you...
+ Rolling release builds are for you if you...
- want to help us test latest VyOS code
- want to check whether a bug is fixed in the latest code
- made a patch and want to test it before making a pull request
- Go to the [nightly builds page](/get/nightly-builds).
+ Go to the [rolling release page](/get/nightly-builds) to download.
</div>
@@ -61,15 +56,14 @@
[non-profit](https://vyos.io/community/for-non-commercial-organizations/), or an
[emergency service](http://vyos.io/community/for-first-responders/).
- Or you can build an LTS image from source.
-
</div>
<div class='legacy-lts'>
## Legacy LTS releases
- As a courtesy, we offer images of legacy LTS releases. To access all available legacy LTS releases, kindly complete the form below. Upon submission, you will receive an email containing links to download the images.
+ As a courtesy, we offer images of legacy LTS releases. To access all available legacy LTS releases, complete the form below.
+ Upon submission, you will receive an email containing links to download the images.
</div>
diff --git a/site/get/nightly-builds.md b/site/get/nightly-builds.md
index 2a6b860..2554000 100644
--- a/site/get/nightly-builds.md
+++ b/site/get/nightly-builds.md
@@ -10,7 +10,7 @@
<div class='banner-div'>
- # VyOS nightly builds
+ # VyOS rolling release
</div>
@@ -20,15 +20,13 @@
<section class='content-section'>
<div class='content-div'>
<div class='image-signatures'>
-
- VyOS nightly builds are automatically produced from the `current` branch and the development branch for the LTS release,
- at least once a day.
+
+ VyOS rolling release builds are automatically produced from the `current` branch at least once a day.
They include all the latest code from maintainers and community contributors.
- Nightly builds are not hand-tested before upload. A basic set of automated
- [smoke tests](https://github.com/vyos/vyos-1x/tree/current/smoketest/scripts/cli) is executed
- for each build ensuring that basic functionality is working. In addition we load arbitrary
- [configurations](https://github.com/vyos/vyos-1x/tree/current/smoketest/configs) to ensure
+ Rolling release builds are not hand-tested before upload.
+ They undergo a sequence of automated [smoke tests](https://github.com/vyos/vyos-1x/tree/current/smoketest/scripts/cli).
+ In addition we load arbitrary [configurations](https://github.com/vyos/vyos-1x/tree/current/smoketest/configs) to ensure
there are no errors during config migration and system bootup.
## Verifying image signatures
@@ -43,11 +41,11 @@
minisign -Vm <ISO file> -P RWSIhkR/dkM2DSaBRniv/bbbAf8hmDqdbOEmgXkf1RxRoxzodgKcDyGq
```
- If in doubt, you can get the public key from the [nightly builds repository](https://github.com/vyos/vyos-rolling-nightly-builds/blob/main/minisign.pub).
+ If in doubt, you can get the public key from the [nightly builds repository](https://github.com/vyos/vyos-nightly-build/blob/main/minisign.pub).
If you are _really_ in doubt (i.e., you have a reason to suspect that the repository and/or this website were compromised),
you should report that to the maintainers.
- Currently, we create nightly builds with GitHub Actions and store them in releases of the [vyos/vyos-rolling-nightly-builds](https://github.com/vyos/vyos-rolling-nightly-builds/releases)
+ Currently, we create rolling release builds with GitHub Actions and store them in releases of the [vyos/vyos-nightly-build](https://github.com/vyos/vyos-nightly-build/releases)
repository. Here is an auto-generated list of available builds.
</div>
diff --git a/soupault.toml b/soupault.toml
index 14622c2..fdab78e 100644
--- a/soupault.toml
+++ b/soupault.toml
@@ -95,7 +95,6 @@ Disallow: /
widget = "insert_html"
html = """
<div id="rolling-current">
- <h3>Current/Circinus (future 1.5.0)</h3>
</div>
"""
selector = "#available-builds"