Update .github/workflows/build.yml
All checks were successful
Build and Publish TVJ EPG Image / build (push) Successful in 19s
All checks were successful
Build and Publish TVJ EPG Image / build (push) Successful in 19s
This commit is contained in:
62
.github/workflows/build.yml
vendored
62
.github/workflows/build.yml
vendored
@@ -2,63 +2,57 @@ name: Build and Publish TVJ EPG Image
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ main ]
|
branches: [ "main" ]
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: gitea/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Read version
|
||||||
|
id: version
|
||||||
|
run: |
|
||||||
|
VERSION=$(cat VERSION | tr -d ' \n')
|
||||||
|
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Install Podman
|
- name: Install Podman
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y podman
|
sudo apt-get install -y podman
|
||||||
|
|
||||||
- name: Read version
|
- name: Log in to GitHub Container Registry
|
||||||
id: version
|
|
||||||
run: |
|
run: |
|
||||||
VERSION="$(cat VERSION | tr -d ' \n')"
|
echo "${{ secrets.GHCR_TOKEN }}" | podman login ghcr.io \
|
||||||
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
-u ${{ github.actor }} \
|
||||||
|
|
||||||
- name: Registry login
|
|
||||||
env:
|
|
||||||
REGISTRY: ${{ vars.REGISTRY }}
|
|
||||||
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
|
|
||||||
REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
|
|
||||||
run: |
|
|
||||||
echo "$REGISTRY_TOKEN" | podman login "$REGISTRY" \
|
|
||||||
-u "$REGISTRY_USER" \
|
|
||||||
--password-stdin
|
--password-stdin
|
||||||
|
|
||||||
- name: Build image (multi-tag)
|
- name: Build image with Podman (multi-tag)
|
||||||
env:
|
|
||||||
REGISTRY: ${{ vars.REGISTRY }}
|
|
||||||
IMAGE: ${{ vars.IMAGE }}
|
|
||||||
VERSION: ${{ steps.version.outputs.version }}
|
|
||||||
run: |
|
run: |
|
||||||
SHORT_SHA="${GITHUB_SHA::7}"
|
IMAGE=ghcr.io/${{ github.repository }}
|
||||||
FULL_IMAGE="$REGISTRY/$IMAGE"
|
VERSION=${{ steps.version.outputs.version }}
|
||||||
|
SHORT_SHA=${GITHUB_SHA::7}
|
||||||
|
|
||||||
podman build \
|
podman build \
|
||||||
-f Containerfile \
|
-f Containerfile \
|
||||||
-t "$FULL_IMAGE:latest" \
|
-t $IMAGE:latest \
|
||||||
-t "$FULL_IMAGE:v$VERSION" \
|
-t $IMAGE:v$VERSION \
|
||||||
-t "$FULL_IMAGE:sha-$SHORT_SHA" \
|
-t $IMAGE:sha-$SHORT_SHA \
|
||||||
.
|
.
|
||||||
|
|
||||||
- name: Push all tags
|
- name: Push all tags
|
||||||
env:
|
|
||||||
REGISTRY: ${{ vars.REGISTRY }}
|
|
||||||
IMAGE: ${{ vars.IMAGE }}
|
|
||||||
VERSION: ${{ steps.version.outputs.version }}
|
|
||||||
run: |
|
run: |
|
||||||
SHORT_SHA="${GITHUB_SHA::7}"
|
IMAGE=ghcr.io/${{ github.repository }}
|
||||||
FULL_IMAGE="$REGISTRY/$IMAGE"
|
VERSION=${{ steps.version.outputs.version }}
|
||||||
|
SHORT_SHA=${GITHUB_SHA::7}
|
||||||
|
|
||||||
podman push "$FULL_IMAGE:latest"
|
podman push $IMAGE:latest
|
||||||
podman push "$FULL_IMAGE:v$VERSION"
|
podman push $IMAGE:v$VERSION
|
||||||
podman push "$FULL_IMAGE:sha-$SHORT_SHA"
|
podman push $IMAGE:sha-$SHORT_SHA
|
||||||
Reference in New Issue
Block a user