summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/deploy.yml99
-rw-r--r--.github/workflows/test-win.yml15
-rw-r--r--.github/workflows/test.yml99
3 files changed, 0 insertions, 213 deletions
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
deleted file mode 100644
index d1766bb..0000000
--- a/.github/workflows/deploy.yml
+++ /dev/null
@@ -1,99 +0,0 @@
-# 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
- - uses: actions/setup-go@v3
- with:
- go-version: ^1.22
- - name: Build & Install python-eduvpn-common
- run: |
- # install pip deps
- pip install wheel setuptools build
-
- # 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
diff --git a/.github/workflows/test-win.yml b/.github/workflows/test-win.yml
deleted file mode 100644
index 5883995..0000000
--- a/.github/workflows/test-win.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-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.22
- - run: make
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
deleted file mode 100644
index 6236dab..0000000
--- a/.github/workflows/test.yml
+++ /dev/null
@@ -1,99 +0,0 @@
-name: "[Ubuntu] Test & check build"
-
-on: [ push, pull_request ]
-
-jobs:
- lint:
- name: Linting
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/setup-go@v3
- with:
- go-version: ^1.22
- - 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"
- - name: Install ruff
- run: pip install ruff
- - name: Run ruff
- run: |
- ruff check wrappers/python/eduvpn_common
- ruff format --check wrappers/python/eduvpn_common
-
- test:
- name: Run Tests
- 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/repo+v3@eduvpn.org.asc /etc/apt/trusted.gpg.d/repo+v3@eduvpn.org.asc
- 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
- - uses: actions/setup-go@v3
- with:
- go-version: ^1.22
- - 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.22
- - run: make
- - uses: actions/upload-artifact@v3
- with:
- name: shared-lib
- path: exports/lib/
- retention-days: 1