fix typo #1179
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/[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 | |
- 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 |