Skip to content

🛡️ Sentinel: [CRITICAL] Fix SSRF in image cache #820

🛡️ Sentinel: [CRITICAL] Fix SSRF in image cache

🛡️ Sentinel: [CRITICAL] Fix SSRF in image cache #820

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.24.1'
- name: Use Node.js
uses: actions/setup-node@v6
with:
node-version: '20'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make ffmpeg
npm install
- name: Build project
run: make build
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.24.1'
- name: Use Node.js
uses: actions/setup-node@v6
with:
node-version: '20'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make ffmpeg
npm install
- name: Run tests
run: make test
lint:
runs-on: ubuntu-latest
needs: build
continue-on-error: true
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.24.1'
- name: Run golangci-lint
run: make lint
snap-test:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.24.1'
- name: Use Node.js
uses: actions/setup-node@v6
with:
node-version: '20'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make ffmpeg qemu-kvm
npm install
sudo snap install snapcraft --classic
- name: Build the snap
run: sudo make snap
- name: Install the snap
run: sudo snap install --dangerous xteve*.snap
- name: Wait for service startup
run: sleep 10
- name: Check service status and dump logs
run: |
echo "--- Checking xteve service status ---"
snap services xteve
echo "--- Dumping xteve service logs ---"
sudo snap logs xteve || echo "No logs yet or logs not accessible"
echo "--- Verifying xteve service is active ---"
snap services xteve | grep -E "^xteve\.xteve\s+.*active"
e2e-test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.24.1'
- name: Use Node.js
uses: actions/setup-node@v6
with:
node-version: '20'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make ffmpeg
npm install
- name: Run E2E test
run: make e2e-test
otel-test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.24.1'
- name: Use Node.js
uses: actions/setup-node@v6
with:
node-version: '20'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make ffmpeg
npm install
- name: Run OTEL test
run: make otel-test
playwright-test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.24.1'
- name: Use Node.js
uses: actions/setup-node@v6
with:
node-version: '20'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make ffmpeg
npm install
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run app
run: |
make build
./bin/xteve -port=34400 &
- name: Run Playwright tests
run: npx playwright test
timestamp-test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.24.1'
- name: Use Node.js
uses: actions/setup-node@v6
with:
node-version: '20'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make ffmpeg fuse3 rclone
npm install
- name: Run timestamp test
run: make timestamp-test
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Use Node.js
uses: actions/setup-node@v6
with:
node-version: '20'
- name: Install dependencies
run: npm install
- name: Check formatting
run: make format-check