Skip to content

fix: Update actions/cache to v4.1.1 to fix deprecated version error #851

fix: Update actions/cache to v4.1.1 to fix deprecated version error

fix: Update actions/cache to v4.1.1 to fix deprecated version error #851

Workflow file for this run

name: Main
on: [push, pull_request]
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-22.04
permissions:
contents: read
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
- uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: '3.11'
cache: 'pip'
- name: Cache shellcheck
id: cache-shellcheck
uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4.1.1
with:
path: /snap/bin/shellcheck
key: ${{ runner.os }}-shellcheck
- name: Install dependencies
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo apt update -y
python -m pip install --upgrade pip
pip install -r requirements.txt
if [ ! -f /snap/bin/shellcheck ]; then
sudo snap install shellcheck
fi
pip install ansible-lint
- name: Checks and linters
run: |
/snap/bin/shellcheck algo install.sh
ansible-playbook main.yml --syntax-check
ansible-lint -x experimental,package-latest,unnamed-task -v *.yml roles/{local,cloud-*}/*/*.yml || true
scripted-deploy:
needs: lint
runs-on: ubuntu-22.04
permissions:
contents: read
strategy:
matrix:
UBUNTU_VERSION: ["22.04"]
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
- uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: '3.11'
cache: 'pip'
- name: Cache LXD images
uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4.1.1
with:
path: /var/snap/lxd/common/lxd/images
key: ${{ runner.os }}-lxd-${{ matrix.UBUNTU_VERSION }}
- name: Install dependencies
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo apt update -y
sudo apt install -y \
wireguard \
libxml2-utils \
crudini \
fping \
strongswan \
libstrongswan-standard-plugins \
openresolv
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
sudo snap refresh lxd
sudo lxd init --auto
- name: Provision
env:
DEPLOY: cloud-init
UBUNTU_VERSION: ${{ matrix.UBUNTU_VERSION }}
REPOSITORY: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name || github.repository }}
BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || github.ref }}
run: |
ssh-keygen -f ~/.ssh/id_rsa -t rsa -N ''
# sed -i "s/^reduce_mtu:\s0$/reduce_mtu: 80/" config.cfg
sudo -E ./tests/pre-deploy.sh
- name: Deployment
run: |
set -x
until sudo lxc exec algo -- test -f /var/log/cloud-init-output.log; do echo 'Log file not found, Sleep for 3 seconds'; sleep 3; done
( sudo lxc exec algo -- tail -f /var/log/cloud-init-output.log & )
until sudo lxc exec algo -- test -f /var/lib/cloud/data/result.json; do
echo 'Cloud init is not finished. Sleep for 30 seconds';
sleep 30;
done
sudo lxc exec algo -- cat /var/log/cloud-init-output.log
sudo lxc exec algo -- test -f /opt/algo/configs/localhost/.config.yml
sudo lxc exec algo -- tar zcf /root/algo-configs.tar -C /opt/algo/configs/ .
sudo lxc file pull algo/root/algo-configs.tar ./
sudo tar -C ./configs -zxf algo-configs.tar
- name: Tests
run: |
set -x
sudo -E bash -x ./tests/wireguard-client.sh
sudo env "PATH=$PATH" ./tests/ipsec-client.sh
docker-deploy:
needs: lint
runs-on: ubuntu-22.04
permissions:
contents: read
strategy:
matrix:
UBUNTU_VERSION: ["22.04"]
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
- uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: '3.11'
cache: 'pip'
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@c47758b77c9736f4b2ef4073d4d51994fabfe349 # v3.7.1
- name: Install dependencies
env:
DEBIAN_FRONTEND: noninteractive
run: |
set -x
sudo apt update -y
sudo apt install -y \
wireguard \
libxml2-utils \
crudini \
fping \
strongswan \
libstrongswan-standard-plugins \
openresolv
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
sudo snap refresh lxd
sudo lxd init --auto
- name: Provision
env:
DEPLOY: docker
UBUNTU_VERSION: ${{ matrix.UBUNTU_VERSION }}
REPOSITORY: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name || github.repository }}
BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || github.ref }}
run: |
ssh-keygen -f ~/.ssh/id_rsa -t rsa -N ''
sed -i "s/^reduce_mtu:\s0$/reduce_mtu: 80/" config.cfg
sudo -E ./tests/pre-deploy.sh
- name: Build Docker image with cache
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
with:
context: .
tags: local/algo
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Deployment
env:
DEPLOY: docker
UBUNTU_VERSION: ${{ matrix.UBUNTU_VERSION }}
run: |
./tests/local-deploy.sh
./tests/update-users.sh
- name: Tests
run: |
set -x
sudo bash -x ./tests/wireguard-client.sh
sudo env "PATH=$PATH" bash -x ./tests/ipsec-client.sh
sudo bash -x ./tests/ssh-tunnel.sh