mirror of
https://github.com/YuCat-OVO/BaiduNetdisk-Docker
synced 2025-05-10 20:10:04 +08:00
96 lines
2.9 KiB
YAML
96 lines
2.9 KiB
YAML
name: Build & Release
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- "main"
|
|
paths-ignore:
|
|
- ".github/**"
|
|
- "docs/**"
|
|
- "README.md"
|
|
- "get_version.py"
|
|
|
|
env:
|
|
IMAGE_NAME: BaiduNetdisk-Docker
|
|
|
|
jobs:
|
|
Build:
|
|
name: Build
|
|
strategy:
|
|
matrix:
|
|
arch: [linux/amd64, linux/arm64]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@master
|
|
- name: Set variables
|
|
id: set-vars
|
|
run: |
|
|
VERSION="1.0.1"
|
|
if [ ${{ matrix.arch }} == linux/amd64 ]; then
|
|
BAIDUNETDISK_VERSION=$(jq -r '.[1] | "\(.version)"' info.json);
|
|
BAIDUNETDISK_URL=$(jq -r '.[1] | "\(.url)"' info.json);
|
|
fi
|
|
if [ ${{ matrix.arch }} == linux/arm64 ]; then
|
|
BAIDUNETDISK_VERSION=$(jq -r '.[2] | "\(.version)"' info.json);
|
|
BAIDUNETDISK_URL=$(jq -r '.[2] | "\(.url)"' info.json);
|
|
fi
|
|
GITHUB_REF=${{ github.ref }}
|
|
BRACH=${GITHUB_REF#refs/heads/}
|
|
DATE=$(date '+%Y-%m-%dT%H:%M:%S%Z')
|
|
|
|
echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT
|
|
echo "BAIDUNETDISK_VERSION=${BAIDUNETDISK_VERSION}" >> $GITHUB_OUTPUT
|
|
echo "BAIDUNETDISK_URL=${BAIDUNETDISK_URL}" >> $GITHUB_OUTPUT
|
|
echo "GITHUB_REF=${GITHUB_REF}" >> $GITHUB_OUTPUT
|
|
echo "BRACH=${BRACH}" >> $GITHUB_OUTPUT
|
|
echo "DATE=${DATE}" >> $GITHUB_OUTPUT
|
|
|
|
- name: Docker Meta
|
|
id: meta
|
|
uses: docker/metadata-action@v5
|
|
with:
|
|
images: |
|
|
${{ secrets.DOCKER_USERNAME }}/${{ env.IMAGE_NAME }}
|
|
ghcr.io/${{ github.repository }}
|
|
tags: |
|
|
type=raw,value=${{ steps.set-vars.outputs.VERSION }}
|
|
type=raw,value=${{ steps.set-vars.outputs.BRACH }}
|
|
type=raw,value=latest
|
|
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_TOKEN }}
|
|
|
|
- name: Login to GHCR
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Buildx
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
context: .
|
|
file: Dockerfile
|
|
platforms: |
|
|
${{ matrix.arch }}
|
|
push: true
|
|
build-args: |
|
|
BUILD_DATE=${{ steps.set-vars.outputs.DATE }}
|
|
VERSION=${{ steps.set-vars.outputs.VERSION }}
|
|
BAIDUNETDISK_VERSION=${{ steps.set-vars.outputs.BAIDUNETDISK_VERSION }}
|
|
BAIDUNETDISK_URL=${{ steps.set-vars.outputs.BAIDUNETDISK_URL }}
|
|
labels: ${{ steps.meta.outputs.labels }}
|
|
tags: ${{ steps.meta.outputs.tags }}
|