[fix] Added admin URLs to the API container #131
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: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
jobs: | |
build: | |
name: CI Build | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Setup testing environment | |
id: deps | |
run: | | |
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 | |
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 pip3 install -r requirements-test.txt | |
- name: QA checks | |
run: ./run-qa-checks | |
- name: Use the auto-install script to start containers with edge images | |
id: auto_install_edge | |
if: ${{ !cancelled() && steps.deps.conclusion == 'success' }} | |
run: | | |
(sudo -E ./deploy/auto-install.sh <<EOF | |
edge | |
./.env | |
EOF | |
) || (cat /opt/openwisp/autoinstall.log && exit 1) | |
- name: Build Images | |
id: build_images | |
if: ${{ !cancelled() && steps.auto_install_edge.conclusion == 'success' }} | |
run: make compose-build nfs-build | |
- name: Set GIT_BRANCH | |
id: set_git_branch | |
if: ${{ !cancelled() && steps.build_images.conclusion == 'success' }} | |
run: | | |
if [ "${{ github.event_name }}" == "pull_request" ]; then | |
GIT_BRANCH="${{ github.head_ref }}" | |
else | |
GIT_BRANCH="${{ github.ref_name }}" | |
fi | |
echo "GIT_BRANCH=$GIT_BRANCH" >> $GITHUB_ENV | |
- name: Use auto-install script to upgrade containers to latest version | |
id: auto_install_upgrade | |
if: ${{ !cancelled() && steps.set_git_branch.conclusion == 'success' }} | |
# Do not remove the blank lines from the input. | |
run: | | |
(GIT_BRANCH="${GIT_BRANCH}" SKIP_PULL=true sudo -E ./deploy/auto-install.sh --upgrade <<EOF | |
latest | |
EOF | |
) || (cat /opt/openwisp/autoinstall.log && exit 1) | |
- name: Test | |
if: ${{ !cancelled() && steps.auto_install_upgrade.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: ${{ success() && github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
uses: docker/login-action@v3 | |
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: ${{ success() && 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: ${{ success() && github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
uses: docker/login-action@v3 | |
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: ${{ success() && github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
run: | | |
make publish TAG=edge SKIP_BUILD=true SKIP_TESTS=true |