Allow to configure log output and make CI great again (#60)

This commit is contained in:
Pаramtamtām
2024-11-12 15:38:36 +04:00
committed by GitHub
parent 2a4024db68
commit 1f42c9285b
10 changed files with 56 additions and 204 deletions

View File

@@ -8,7 +8,7 @@ on:
jobs:
docker-hub-description:
name: Docker Hub Description
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

View File

@@ -1,4 +1,7 @@
name: release
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
# docs: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
name: 🚀 Release
on:
release: # Docs: <https://git.io/JeBz1#release-event-release>
@@ -7,27 +10,21 @@ on:
jobs:
docker-image:
name: Build docker image
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- {uses: gacts/github-slug@v1, id: slug}
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3 # Action page: <https://github.com/docker/login-action>
with:
username: ${{ secrets.DOCKER_LOGIN }}
password: ${{ secrets.DOCKER_PASSWORD }}
- uses: docker/login-action@v3 # Action page: <https://github.com/docker/login-action>
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/build-push-action@v6 # Action page: <https://github.com/docker/build-push-action>
with:
context: .

View File

@@ -1,4 +1,7 @@
name: tests
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
# docs: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
name: 🧪 Tests
on:
push:
@@ -12,63 +15,45 @@ concurrency:
jobs: # Docs: <https://git.io/JvxXE>
gitleaks:
name: Gitleaks
runs-on: ubuntu-20.04
name: Check for GitLeaks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with: {fetch-depth: 0}
- {uses: actions/checkout@v4, with: {fetch-depth: 0}}
- uses: gacts/gitleaks@v1
build-image:
name: Build docker image
runs-on: ubuntu-20.04
name: Build the docker image
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build docker image
run: docker build -f ./Dockerfile --tag 3proxy:local .
- name: Save docker image
run: docker save 3proxy:local > ./docker-image.tar
- name: Upload artifact
uses: actions/upload-artifact@v4
- run: docker build -f ./Dockerfile --tag 3proxy:local .
- run: docker save 3proxy:local > ./docker-image.tar
- uses: actions/upload-artifact@v4
with:
name: docker-image
path: ./docker-image.tar
retention-days: 1
try-to-use:
name: Build and use docker image (auth ${{ matrix.auth }})
runs-on: ubuntu-20.04
name: Build and use the docker image (auth ${{ matrix.auth }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
auth: [yes, no]
needs: [build-image]
steps:
- name: Download built docker image
uses: actions/download-artifact@v4
- uses: actions/download-artifact@v4
with:
name: docker-image
path: .artifact
- name: Prepare image to run
working-directory: .artifact
- working-directory: .artifact
run: docker load < docker-image.tar
- name: Start server without auth setup
if: matrix.auth != 'yes'
- if: matrix.auth != 'yes'
run: docker run --rm -d -p "3128:3128/tcp" -p "1080:1080/tcp" 3proxy:local
- name: Start server with auth setup
if: matrix.auth == 'yes'
- if: matrix.auth == 'yes'
run: docker run --rm -d -p "3128:3128/tcp" -p "1080:1080/tcp" -e "PROXY_LOGIN=evil" -e "PROXY_PASSWORD=live" -e 'EXTRA_ACCOUNTS={"foo":"bar"}' 3proxy:local
- name: Pause
run: sleep 3
- run: sleep 3
- name: Try to use HTTP proxy
if: matrix.auth != 'yes'
run: |
@@ -77,7 +62,6 @@ jobs: # Docs: <https://git.io/JvxXE>
--connect-timeout 3 \
--max-time 3 \
https://www.cloudflare.com/robots.txt
- name: Try to use SOCKS proxy
if: matrix.auth != 'yes'
run: |
@@ -86,7 +70,6 @@ jobs: # Docs: <https://git.io/JvxXE>
--connect-timeout 3 \
--max-time 3 \
https://www.cloudflare.com/robots.txt
- name: Try to use HTTP proxy (with auth)
if: matrix.auth == 'yes'
run: |
@@ -96,7 +79,6 @@ jobs: # Docs: <https://git.io/JvxXE>
--connect-timeout 3 \
--max-time 3 \
https://www.cloudflare.com/robots.txt
- name: Try to use HTTP proxy (with auth, extra user)
if: matrix.auth == 'yes'
run: |
@@ -106,7 +88,6 @@ jobs: # Docs: <https://git.io/JvxXE>
--connect-timeout 3 \
--max-time 3 \
https://www.cloudflare.com/robots.txt
- name: Try to use SOCKS proxy (with auth)
if: matrix.auth == 'yes'
run: |
@@ -116,6 +97,4 @@ jobs: # Docs: <https://git.io/JvxXE>
--connect-timeout 3 \
--max-time 3 \
https://www.cloudflare.com/robots.txt
- name: Stop container
run: docker stop $(docker ps -a --filter ancestor=3proxy:local -q)
- run: docker stop $(docker ps -a --filter ancestor=3proxy:local -q)