name: Build & Publish on: push: branches: - root schedule: - cron: "0 0 * * *" jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Set up Java uses: actions/setup-java@v4 with: java-version: 21 distribution: temurin - name: Get current date id: date run: echo "::set-output name=date::$(date +'%Y-%m-%d')" - name: Gradle Cache uses: actions/cache/restore@v4 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Gradle (Build) run: "./gradlew build" - name: Gradle Cache uses: actions/cache/save@v4 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - name: Login to Gitea Registry uses: docker/login-action@v3 with: registry: pi5:8125 username: ${{ github.repository_owner }} password: ${{ secrets.PW }} - name: Build the Docker image run: docker build -t pi5:8125/jansel/feixiao:latest -t pi5:8125/jansel/feixiao:${{ steps.date.outputs.date }} . - name: Push the Docker image related to this workflow run: docker push pi5:8125/jansel/feixiao:${{ steps.date.outputs.date }} - name: Push the latest Docker image run: docker push pi5:8125/jansel/feixiao:latest