Skip to content

Commit

Permalink
Deploy 5f2b250 to gh-pages
Browse files Browse the repository at this point in the history
  • Loading branch information
Deploy from CI committed Aug 30, 2024
0 parents commit 9440bcb
Show file tree
Hide file tree
Showing 118 changed files with 20,854 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Interpret .json & .blake2b test data files as binary (not text)
# Otherwise test signatures made with different line endings will become invalid
# Use LF for created .json files, also on Windows
internal/verify/test_data/**/*.json -text eol=lf
internal/verify/test_data/**/*.blake2b -text
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# See https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "gomod"
directory: "/" # Location of package manifests
schedule:
interval: "daily"
96 changes: 96 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Adapted from https://github.com/rust-lang/mdBook/wiki/Automated-Deployment:-GitHub-Actions#github-pages-deploy

name: Build docs
on:
push:
branches:
- main

jobs:
deploy:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install mdbook
run: |
# Get mdbook
curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.18/mdbook-v0.4.18-x86_64-unknown-linux-gnu.tar.gz -o mdbook.tar.gz
# Verify hash
echo "d276b0e594d5980de6a7917ce74c348f28d3cb8b353ca4eaae344ae8a4c40bea mdbook.tar.gz" | sha256sum --check
# Get mdbook-mermaid
curl -sSL https://github.com/badboy/mdbook-mermaid/releases/download/v0.12.6/mdbook-mermaid-v0.12.6-x86_64-unknown-linux-gnu.tar.gz -o mdbook-mermaid.tar.gz
# Verify hash
echo "04f9fa41f89b7a1809ef2525efc7ad2c112df4ae1241de25efe354940441ea70 mdbook-mermaid.tar.gz" | sha256sum --check
# Extract
mkdir mdbook
tar -xzf mdbook.tar.gz --directory mdbook
mkdir mdbook-mermaid
tar -xzf mdbook-mermaid.tar.gz --directory mdbook-mermaid
echo `pwd`/mdbook >> $GITHUB_PATH
echo `pwd`/mdbook-mermaid >> $GITHUB_PATH
- name: Install sphinx
run: |
# Install python dependencies
sudo apt -y install python3 python3-pip python3-sphinx
# Install rtd theme
pip install sphinx_rtd_theme
- name: Install go
run: |
sudo apt -y install golang-go
- name: Build & Install python-eduvpn-common
run: |
# Make go library
make
# Go to Python wrapper
cd wrappers/python
# Make wheel
make pack
# Install wheel
pip3 install dist/*.whl
- name: Deploy GitHub Pages
run: |
# Build Sphinx
cd wrappers/python/docs
make html
# Go to root
cd ../../..
# Install mermaid preprocessor
mdbook-mermaid install docs
cd docs
mdbook build
# gh pages branch settings
git worktree add gh-pages gh-pages
git config user.name "Deploy from CI"
git config user.email ""
cd gh-pages
# Delete the ref to avoid keeping history.
git update-ref -d refs/heads/gh-pages
rm -rf *
# move mdbook files
mv ../book/* .
# move sphinx files
mkdir -p api/python/rtd
mv ../../wrappers/python/docs/build/html/* api/python/rtd
# Disable jekyll as otherwise it won't find our sphinx paths
# that start with underscore
touch .nojekyll
git add .
git commit -m "Deploy $GITHUB_SHA to gh-pages"
git push --force
20 changes: 20 additions & 0 deletions .github/workflows/test-win.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: "[Windows] Check build"

on: [ push, pull_request ]

jobs:
build-lib:
name: "[Windows] Build shared Go library"
runs-on: windows-latest

steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: ^1.15
- run: make
- uses: actions/upload-artifact@v3
with:
name: shared-lib
path: exports/lib/
retention-days: 1
96 changes: 96 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: "[Ubuntu] Test & check build"

on: [ push, pull_request ]

jobs:
lint-go:
name: Lint go
runs-on: ubuntu-latest

steps:
- uses: actions/setup-go@v3
with:
go-version: ^1.17
- uses: actions/checkout@v3
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: latest
args: "-E stylecheck,revive,gocritic --out-${NO_FUTURE}format colored-line-number"

test-go:
name: Test Go
runs-on: ubuntu-22.04
env:
WEB_FQDN: eduvpnghci
PORTAL_USER: ci
PORTAL_PASS: ci
steps:
- uses: actions/checkout@v3
- name: Setup server
run: |
git clone https://codeberg.org/eduvpn/deploy
cd deploy
sudo cp resources/[email protected] /etc/apt/trusted.gpg.d/[email protected]
echo "deb https://repo.eduvpn.org/v3/deb jammy main" | sudo tee /etc/apt/sources.list.d/eduVPN_v3.list
sudo apt-get -y update
sudo apt-get install -y vpn-user-portal vpn-server-node vpn-maint-scripts
sudo openssl req -nodes -subj "/CN=${WEB_FQDN}" -addext "subjectAltName = DNS:${WEB_FQDN}" -x509 -sha256 -newkey rsa:2048 -keyout "/etc/ssl/private/${WEB_FQDN}.key" -out "/etc/ssl/certs/${WEB_FQDN}.crt" -days 90
# Apache 2
PHP_VERSION=$(/usr/sbin/phpquery -V)
sudo a2enmod ssl headers rewrite proxy_fcgi setenvif
sudo a2dismod status
sudo a2enconf "php${PHP_VERSION}-fpm"
sudo cp resources/ssl.debian.conf /etc/apache2/mods-available/ssl.conf
sudo cp resources/vpn.example.debian.conf "/etc/apache2/sites-available/${WEB_FQDN}.conf"
sudo cp resources/localhost.debian.conf /etc/apache2/sites-available/localhost.conf
sudo sed -i "s/vpn.example/${WEB_FQDN}/" "/etc/apache2/sites-available/${WEB_FQDN}.conf"
sudo a2enconf vpn-user-portal
sudo a2ensite "${WEB_FQDN}" localhost
sudo a2dissite 000-default
sudo systemctl restart apache2
# NETWORK
sudo cp /etc/vpn-user-portal/keys/node.0.key /etc/vpn-server-node/keys/node.key
sudo systemctl enable --now "php${PHP_VERSION}-fpm"
sudo systemctl enable --now apache2
sudo /usr/libexec/vpn-server-node/server-config
sudo -u www-data vpn-user-portal-account --add "${PORTAL_USER}" --password "${PORTAL_PASS}"
# Update /etc/hosts to point to our server
echo "127.0.0.1 ${WEB_FQDN}" | sudo tee -a /etc/hosts
- name: Install Go
run: |
wget https://go.dev/dl/go1.19.4.linux-amd64.tar.gz -q -O go.tar.gz
echo "c9c08f783325c4cf840a94333159cc937f05f75d36a8b307951d5bd959cf2ab8 go.tar.gz" | sha256sum --check
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go.tar.gz
- name: Selenium dependencies
run: |
sudo apt-get -y update
sudo apt-get -y install tar python3 python3-selenium
- name: Test Go
run: |
# Add geckodriver and go to path
export PATH=$PATH:/usr/local/go/bin
## Run tests
SERVER_URI=https://${WEB_FQDN} make test
build-lib:
name: Build shared Go library
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: ^1.17
- run: make
- uses: actions/upload-artifact@v3
with:
name: shared-lib
path: exports/lib/
retention-days: 1
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.vs/
*.iml
.idea/
.DS_Store

# locales
/client/locales/*/out.gotext.json
/docs/book/
/cmd/cli/configs/
/ci/docker/selfsigned/
Empty file added .nojekyll
Empty file.
Loading

0 comments on commit 9440bcb

Please sign in to comment.