Compare commits

...

3 Commits

Author SHA1 Message Date
Anonymous
e8ffaa21aa fix: add --abort-on-container-exit
Some checks failed
Deploy Jekyll with GitHub Pages dependencies preinstalled / build (push) Has been cancelled
Deploy Jekyll with GitHub Pages dependencies preinstalled / deploy (push) Has been cancelled
2024-07-06 23:38:22 +08:00
Anonymous
6a1cc20af7 fix: copy .env if not exist 2024-07-06 23:34:05 +08:00
Anonymous
f64725d085 feat: ci, publish to ghcr 2024-07-06 23:28:37 +08:00
6 changed files with 61 additions and 8 deletions

View File

@ -1,7 +1,6 @@
# for caddy
CLOUDFLARE_DNS_API_TOKEN=xxxx
SCHEME=http
BASE_DOMAIN=local.homeinfra.org
# for aria2 and mirrors

51
.github/workflows/ci.yaml vendored Normal file
View File

@ -0,0 +1,51 @@
name: Manual CI
on:
workflow_dispatch:
jobs:
integration-tests:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: noclin
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: "3.9"
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
context: ./src
tags: ghcr.io/noclin/lightmirrors:${{ github.sha }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
context: ./aria2
tags: ghcr.io/noclin/lightmirrors_aria2:${{ github.sha }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Integration Test
run: python3 test/runner.py

View File

@ -1,8 +1,5 @@
FROM alpine:3.19.1
# Optimization for China
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
RUN apk update && apk add --no-cache aria2
ADD entrypoint.sh /

1
src/.dockerignore Normal file
View File

@ -0,0 +1 @@
**/__pycache__

View File

@ -9,7 +9,9 @@ RUN unzip AriaNg-1.3.7.zip && rm AriaNg-1.3.7.zip
ADD requirements.txt /app/requirements.txt
RUN pip install -r /app/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
RUN pip install -r /app/requirements.txt
ADD . /app
WORKDIR /app

View File

@ -24,15 +24,18 @@ services = [
]
os.chdir(root_dir)
call("docker-compose up -d --force-recreate --wait")
if not os.path.exists(".env"):
call("cp .env.example .env")
call("docker compose up -d --force-recreate --wait")
os.chdir(test_dir)
try:
for service in services:
call(f'docker-compose up --force-recreate --exit-code-from {service} {service}')
call(f'docker compose up --force-recreate --abort-on-container-exit --exit-code-from {service} {service}')
except Exception as e:
raise e
finally:
os.chdir(root_dir)
call("docker-compose down")
call("docker compose down")