Skip to content

CI-publishing: enable verbose debugging when building and pushing doc… #48

CI-publishing: enable verbose debugging when building and pushing doc…

CI-publishing: enable verbose debugging when building and pushing doc… #48

Workflow file for this run

name: CI-production
on:
push:
branches:
- 'master'
- 'alya/fix-publishing-docker-image'
- '!develop'
jobs:
# auto add release tag
create_tag:
runs-on: ubuntu-latest
steps:
- name: Get slips version
run: |
VER=$(curl -s https://raw.githubusercontent.com/stratosphereips/StratosphereLinuxIPS/develop/VERSION)
echo "SLIPS_VERSION=$VER" >> $GITHUB_ENV
- uses: actions/checkout@v3
- uses: rickstaa/action-create-tag@v1
with:
tag: ${{ env.SLIPS_VERSION }}
message: ""
publish_image:
# runs the tests in a docker(built by this job) on top of a GH VM
runs-on: ubuntu-20.04
strategy:
matrix:
include:
- type: ubuntu-image
name: ubuntu-image
image_name: slips
path: ./docker/ubuntu-image/Dockerfile
- type: macosm1-image
name: macosm1-image
image_name: slips_macos_m1
path: ./docker/macosm1-image/Dockerfile
steps:
- name: Maximize build space
uses: easimon/maximize-build-space@master
with:
root-reserve-mb: 512
swap-size-mb: 1024
- name: Free some space
run: |
rm -rf /usr/share/dotnet
rm -rf /opt/ghc
rm -rf "/usr/local/share/boost"
rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Free disk space on Ubuntu runner
uses: kfir4444/free-disk-space@main
with:
# frees about 6 GB, warning: may remove required tools
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
swap-storage: true
- name: Get Slips version
run: |
VER=$(curl -s https://raw.githubusercontent.com/stratosphereips/StratosphereLinuxIPS/develop/VERSION)
echo "SLIPS_VERSION=$VER" >> $GITHUB_ENV
# clone slips and checkout branch
# By default it checks out only one commit
- uses: actions/checkout@v3
with:
ref: 'alya/fix-publishing-docker-image'
# Fetch all history for all tags and branches
fetch-depth: ''
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: stratosphereips
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build ${{ matrix.name }} from Dockerfile
id: docker_build_slips
timeout-minutes: 15
uses: docker/build-push-action@v5
with:
debug: true
verbose-debug: true
no-cache: true
context: ./
file: ${{ matrix.path }}
tags: stratosphereips/${{ matrix.image_name }}:test_image
push: true
publish_P2P_docker_image:
# runs the tests in a docker(built by this job) on stop of a GH VM
runs-on: ubuntu-20.04
# 2 hours timeout
timeout-minutes: 7200
steps:
- name: Get slips version
run: |
VER=$(curl -s https://raw.githubusercontent.com/stratosphereips/StratosphereLinuxIPS/develop/VERSION)
echo "SLIPS_VERSION=$VER" >> $GITHUB_ENV
# clone slips and checkout branch
# By default it checks out only one commit
- uses: actions/checkout@v3
with:
ref: 'master'
# Fetch all history for all tags and branches
fetch-depth: ''
submodules: true
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: stratosphereips
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
# Set up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build and push p2p image using dockerfile
id: docker_build_p2p_for_slips
uses: docker/build-push-action@v3
with:
allow: network.host
context: ./
file: ./docker/P2P-image/Dockerfile
tags: |
stratosphereips/slips_p2p:test_image
push: true
update_code_docs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: 'code-docs-branch'
fetch-depth: 0 # otherwise, you will fail to push refs to the dest repo
- name: install doxygen and python
run: |
sudo apt update
sudo apt install python3 doxygen
# deletes old docs, generates new ones, and adds all new files to git
- name: update docs
run: python3 docs/generate_docs.py
# commit and push to code docs branch
- name: Commit & Push changes
uses: actions-js/push@master
with:
github_token: ${{ secrets.GH_TOKEN_FOR_COMMITTING_AND_PUSHING_CODE_DOCS }}
message: '[Github actions] Update code docs'
branch: 'code-docs-branch'
build_and_push_dependency_image:
runs-on: ubuntu-latest
steps:
# clone slips and checkout branch
- uses: actions/checkout@v3
with:
ref: 'master'
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: stratosphereips
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push latest dependency image
id: docker_build_dependency_image
uses: docker/build-push-action@v2
with:
context: ./
file: ./docker/dependency-image/Dockerfile
tags: stratosphereips/slips_dependencies:test_image
push: true