Complete workflow token migration and pip fixes
Token Migration (GITHUB_TOKEN GH_TOKEN): - Update CI workflow to use GH_TOKEN secret - Update Release workflow to use GH_TOKEN secret - Update Security workflow to use GH_TOKEN secret - Maintain environment variable compatibility - Update token validation messages Pip Installation Improvements: - Add --root-user-action=ignore to all pip commands - Eliminates 'Running pip as root user' warnings - Applied across all workflow jobs consistently - Improves workflow reliability and log cleanliness Affected Workflows: - CI: Fixed token references + pip warnings - Release: Fixed token references + pip warnings - Security: Fixed token references + pip warnings + validation messages Changes Summary: - 3 workflow files updated - 37 insertions, 37 deletions (clean replacements) - Consistent token naming across all workflows - All pip commands now use --root-user-action=ignore flag Benefits: - Gitea-compatible secret naming (GH_TOKEN) - Cleaner workflow logs without pip warnings - Better error handling and validation - Consistent token usage across all pipelines
This commit is contained in:
@@ -14,7 +14,7 @@ env:
|
|||||||
REGISTRY: git.b4l.co.th
|
REGISTRY: git.b4l.co.th
|
||||||
IMAGE_NAME: b4l/northern-thailand-ping-river-monitor
|
IMAGE_NAME: b4l/northern-thailand-ping-river-monitor
|
||||||
# GitHub token for better rate limits and authentication
|
# GitHub token for better rate limits and authentication
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# Test job
|
# Test job
|
||||||
@@ -44,9 +44,9 @@ jobs:
|
|||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip --root-user-action=ignore
|
||||||
pip install -r requirements.txt
|
pip install --root-user-action=ignore -r requirements.txt
|
||||||
pip install -r requirements-dev.txt
|
pip install --root-user-action=ignore -r requirements-dev.txt
|
||||||
|
|
||||||
- name: Lint with flake8
|
- name: Lint with flake8
|
||||||
run: |
|
run: |
|
||||||
@@ -106,8 +106,8 @@ jobs:
|
|||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip --root-user-action=ignore
|
||||||
pip install -r requirements-dev.txt
|
pip install --root-user-action=ignore -r requirements-dev.txt
|
||||||
|
|
||||||
- name: Run safety check
|
- name: Run safety check
|
||||||
run: |
|
run: |
|
||||||
@@ -167,7 +167,7 @@ jobs:
|
|||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||||
|
|
||||||
- name: Test Docker image
|
- name: Test Docker image
|
||||||
run: |
|
run: |
|
||||||
@@ -205,8 +205,8 @@ jobs:
|
|||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip --root-user-action=ignore
|
||||||
pip install -r requirements.txt
|
pip install --root-user-action=ignore -r requirements.txt
|
||||||
|
|
||||||
- name: Test with VictoriaMetrics
|
- name: Test with VictoriaMetrics
|
||||||
env:
|
env:
|
||||||
|
@@ -16,7 +16,7 @@ env:
|
|||||||
REGISTRY: git.b4l.co.th
|
REGISTRY: git.b4l.co.th
|
||||||
IMAGE_NAME: b4l/northern-thailand-ping-river-monitor
|
IMAGE_NAME: b4l/northern-thailand-ping-river-monitor
|
||||||
# GitHub token for better rate limits and authentication
|
# GitHub token for better rate limits and authentication
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# Create release
|
# Create release
|
||||||
@@ -83,9 +83,9 @@ jobs:
|
|||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip --root-user-action=ignore
|
||||||
pip install -r requirements.txt
|
pip install --root-user-action=ignore -r requirements.txt
|
||||||
pip install -r requirements-dev.txt
|
pip install --root-user-action=ignore -r requirements-dev.txt
|
||||||
|
|
||||||
- name: Run full test suite
|
- name: Run full test suite
|
||||||
run: |
|
run: |
|
||||||
@@ -95,7 +95,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Build Python package
|
- name: Build Python package
|
||||||
run: |
|
run: |
|
||||||
pip install build
|
pip install --root-user-action=ignore build
|
||||||
python -m build
|
python -m build
|
||||||
|
|
||||||
- name: Upload Python package
|
- name: Upload Python package
|
||||||
@@ -160,9 +160,9 @@ jobs:
|
|||||||
image-ref: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.create-release.outputs.version }}
|
image-ref: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.create-release.outputs.version }}
|
||||||
format: 'sarif'
|
format: 'sarif'
|
||||||
output: 'trivy-results.sarif'
|
output: 'trivy-results.sarif'
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GH_TOKEN }}
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||||
|
|
||||||
- name: Upload Trivy scan results
|
- name: Upload Trivy scan results
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
|
@@ -14,7 +14,7 @@ on:
|
|||||||
env:
|
env:
|
||||||
PYTHON_VERSION: "3.11"
|
PYTHON_VERSION: "3.11"
|
||||||
# GitHub token for better rate limits and authentication
|
# GitHub token for better rate limits and authentication
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# Dependency vulnerability scan
|
# Dependency vulnerability scan
|
||||||
@@ -33,8 +33,8 @@ jobs:
|
|||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip --root-user-action=ignore
|
||||||
pip install safety bandit semgrep
|
pip install --root-user-action=ignore safety bandit semgrep
|
||||||
|
|
||||||
- name: Run Safety check
|
- name: Run Safety check
|
||||||
run: |
|
run: |
|
||||||
@@ -95,18 +95,18 @@ jobs:
|
|||||||
|
|
||||||
- name: Check GitHub token availability
|
- name: Check GitHub token availability
|
||||||
run: |
|
run: |
|
||||||
if [ -z "${{ secrets.GITHUB_TOKEN }}" ]; then
|
if [ -z "${{ secrets.GH_TOKEN }}" ]; then
|
||||||
echo "⚠️ GITHUB_TOKEN not configured. Trivy scans may fail due to rate limits."
|
echo "⚠️ GH_TOKEN not configured. Trivy scans may fail due to rate limits."
|
||||||
echo "💡 To fix: Add GITHUB_TOKEN secret in repository settings"
|
echo "💡 To fix: Add GH_TOKEN secret in repository settings"
|
||||||
else
|
else
|
||||||
echo "✅ GITHUB_TOKEN is configured"
|
echo "✅ GH_TOKEN is configured"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Build Docker image for scanning
|
- name: Build Docker image for scanning
|
||||||
run: |
|
run: |
|
||||||
docker build -t ping-river-monitor:scan .
|
docker build -t ping-river-monitor:scan .
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||||
|
|
||||||
- name: Run Trivy vulnerability scanner
|
- name: Run Trivy vulnerability scanner
|
||||||
uses: aquasecurity/trivy-action@master
|
uses: aquasecurity/trivy-action@master
|
||||||
@@ -114,9 +114,9 @@ jobs:
|
|||||||
image-ref: "ping-river-monitor:scan"
|
image-ref: "ping-river-monitor:scan"
|
||||||
format: "json"
|
format: "json"
|
||||||
output: "trivy-report.json"
|
output: "trivy-report.json"
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GH_TOKEN }}
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Run Trivy filesystem scan
|
- name: Run Trivy filesystem scan
|
||||||
@@ -126,9 +126,9 @@ jobs:
|
|||||||
scan-ref: "."
|
scan-ref: "."
|
||||||
format: "json"
|
format: "json"
|
||||||
output: "trivy-fs-report.json"
|
output: "trivy-fs-report.json"
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GH_TOKEN }}
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Upload Trivy reports
|
- name: Upload Trivy reports
|
||||||
@@ -177,9 +177,9 @@ jobs:
|
|||||||
|
|
||||||
- name: Install pip-licenses
|
- name: Install pip-licenses
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip --root-user-action=ignore
|
||||||
pip install pip-licenses
|
pip install --root-user-action=ignore pip-licenses
|
||||||
pip install -r requirements.txt
|
pip install --root-user-action=ignore -r requirements.txt
|
||||||
|
|
||||||
- name: Check licenses
|
- name: Check licenses
|
||||||
run: |
|
run: |
|
||||||
@@ -222,13 +222,13 @@ jobs:
|
|||||||
|
|
||||||
- name: Install pip-check-updates equivalent
|
- name: Install pip-check-updates equivalent
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip --root-user-action=ignore
|
||||||
pip install pip-review
|
pip install --root-user-action=ignore pip-review
|
||||||
|
|
||||||
- name: Check for outdated packages
|
- name: Check for outdated packages
|
||||||
run: |
|
run: |
|
||||||
echo "📦 Checking for outdated packages..."
|
echo "📦 Checking for outdated packages..."
|
||||||
pip install -r requirements.txt
|
pip install --root-user-action=ignore -r requirements.txt
|
||||||
pip list --outdated --format=json > outdated-packages.json || true
|
pip list --outdated --format=json > outdated-packages.json || true
|
||||||
|
|
||||||
if [ -s outdated-packages.json ]; then
|
if [ -s outdated-packages.json ]; then
|
||||||
@@ -303,9 +303,9 @@ jobs:
|
|||||||
|
|
||||||
- name: Install quality tools
|
- name: Install quality tools
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip --root-user-action=ignore
|
||||||
pip install radon xenon vulture
|
pip install --root-user-action=ignore radon xenon vulture
|
||||||
pip install -r requirements.txt
|
pip install --root-user-action=ignore -r requirements.txt
|
||||||
|
|
||||||
- name: Calculate code complexity
|
- name: Calculate code complexity
|
||||||
run: |
|
run: |
|
||||||
|
Reference in New Issue
Block a user