Skip to content

Commit

Permalink
Allow to configure log output and make CI great again (#60)
Browse files Browse the repository at this point in the history
  • Loading branch information
tarampampam authored Nov 12, 2024
1 parent 2a4024d commit 1f42c92
Show file tree
Hide file tree
Showing 10 changed files with 56 additions and 204 deletions.
14 changes: 6 additions & 8 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
.editorconfig
.git
.github
.idea
.vscode
temp
tmp
LICENSE
## Ignore everything
*

## Except the following files (and directories)
!/3proxy.cfg.json
!/3proxy.cfg.mustach
7 changes: 5 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# EditorConfig docs: <https://editorconfig.org/>

root = true

[*]
Expand All @@ -8,5 +10,6 @@ indent_style = space
indent_size = 2
trim_trailing_whitespace = true

[Dockerfile]
indent_size = 4
[{*.yml,*.yaml}]
ij_any_spaces_within_braces = false
ij_any_spaces_within_brackets = false
13 changes: 13 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-release-config.json
# docs: https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes

changelog:
categories:
- title: 🛠 Fixes
labels: [type:fix, type:bug]
- title: 🚀 Features
labels: [type:feature, type:feature_request]
- title: 📦 Dependency updates
labels: [dependencies]
- title: Other Changes
labels: ['*']
2 changes: 1 addition & 1 deletion .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
13 changes: 5 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -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>
Expand All @@ -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: .
Expand Down
61 changes: 20 additions & 41 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -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:
Expand All @@ -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: |
Expand All @@ -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: |
Expand All @@ -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: |
Expand All @@ -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: |
Expand All @@ -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: |
Expand All @@ -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)
2 changes: 1 addition & 1 deletion 3proxy.cfg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"log": {
"output": "/dev/stdout"
"output": "${LOG_OUTPUT:-/dev/stdout}"
},
"name_servers": [
"${PRIMARY_RESOLVER:-1.0.0.1}",
Expand Down
133 changes: 0 additions & 133 deletions CHANGELOG.md

This file was deleted.

7 changes: 4 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Image page: <https://hub.docker.com/_/gcc>
FROM gcc:13.2.0 as builder
# syntax=docker/dockerfile:1

FROM gcc:13.2.0 AS builder

# renovate: source=github-tags name=z3APA3A/3proxy
ARG Z3PROXY_VERSION=0.9.4
Expand Down Expand Up @@ -36,7 +37,7 @@ RUN set -x \
&& strip ./bin/SSLPlugin.ld.so

# Prepare filesystem for 3proxy running
FROM alpine:latest as buffer
FROM alpine:latest AS buffer

# create a directory for the future root filesystem
WORKDIR /tmp/rootfs
Expand Down
Loading

0 comments on commit 1f42c92

Please sign in to comment.