[fix] Fixed bugs in auto-install script #299 #462
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: Merge Tests | |
on: | |
pull_request: | |
branches: | |
- master | |
jobs: | |
build: | |
name: CI Build | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v2 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Setup testing environment | |
id: deps | |
run: | | |
echo "127.0.0.1 dashboard.openwisp.org api.openwisp.org" | sudo tee -a /etc/hosts | |
# disable metric collection during builds | |
sed -i 's/METRIC_COLLECTION=True/METRIC_COLLECTION=False/' .env | |
sudo pip install -r requirements-test.txt | |
sudo curl -sL -o /bin/hadolint "https://github.com/hadolint/hadolint/releases/download/v2.12.0/hadolint-Linux-x86_64" | |
sudo chmod +x /bin/hadolint | |
- name: QA checks | |
run: exit 1 | |
- name: Build Images | |
# id: build_images | |
if: ${{ !cancelled() && steps.deps.conclusion == 'success' }} | |
run: make compose-build nfs-build | |
- name: Use auto-install script to start containers | |
# id: start_containers | |
# if: ${{ !cancelled() && steps.build_images.conclusion == 'success' }} | |
# Do not remove the blank lines from the input. | |
run: | | |
(GIT_BRANCH="${{ github.head_ref }}" SKIP_PULL=true sudo -E ./deploy/auto-install.sh <<EOF | |
edge | |
dashboard.openwisp.org | |
api.openwisp.org | |
vpn.openwisp.org | |
[email protected] | |
EOF | |
) || cat /opt/openwisp/autoinstall.log | |
- name: Test | |
# if: ${{ !cancelled() && steps.start_containers.conclusion == 'success' }} | |
# The auto-install script installs docker-openwisp by default in | |
# /opt/openwisp/docker-openwisp. To ensure the test runs correctly | |
# and environment variables remain intact, it is essential to | |
# execute the test from this directory. | |
run: | | |
(make develop-pythontests && make stop) || (docker compose logs && exit 1) | |
working-directory: /opt/openwisp/docker-openwisp | |
env: | |
SELENIUM_HEADLESS: 1 | |
# the following action is equivalent to | |
# echo "$DOCKER_HUB_SECRET" | docker login --username "$DOCKER_HUB_USERNAME" --password-stdin | |
- name: Login to Docker Hub | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
password: ${{ secrets.DOCKER_HUB_SECRET }} | |
# Skip image builds and tests since they were already done | |
- name: Publish to Docker Hub | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
run: | | |
make publish USER=docker.io/openwisp TAG=edge SKIP_BUILD=true SKIP_TESTS=true | |
env: | |
SELENIUM_HEADLESS: 1 | |
- name: Login to GitLab Container Registry | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
uses: docker/login-action@v1 | |
with: | |
registry: registry.gitlab.com | |
username: ${{ secrets.GITLAB_DOCKER_REGISTRY_USER }} | |
password: ${{ secrets.GITLAB_DOCKER_REGISTRY_TOKEN }} | |
# Skip image builds and tests since they were already done | |
- name: Publish to GitLab Container Registry | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
run: | | |
make publish TAG=edge SKIP_BUILD=true SKIP_TESTS=true |