Publish nightly dev Docker image #399
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish nightly dev Docker image | |
on: | |
# Manual trigger | |
workflow_dispatch: | |
# At 06:00 AM, on Tuesday, Thursday, and Saturday | |
schedule: | |
- cron: "0 6 * * TUE,THU,SAT" | |
env: | |
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true | |
DOTNET_CLI_TELEMETRY_OPTOUT: true | |
jobs: | |
publish-nightly: | |
name: Build, Test, Publish and Deploy nightly Docker image | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
permissions: | |
contents: read | |
packages: write | |
# This is used to complete the identity challenge | |
# with sigstore/fulcio when running outside of PRs. | |
id-token: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.x | |
- name: Build | |
run: dotnet build Smartstore.sln -c Release | |
- name: Test | |
run: dotnet test Smartstore.sln -c Release --no-restore --no-build | |
- name: Log in to the GitHub Container registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
#- name: Log in to Docker Hub | |
# uses: docker/login-action@v2 | |
# with: | |
# username: ${{ secrets.DOCKER_USERNAME }} | |
# password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Publish and Push for Linux | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
dotnet publish src/Smartstore.Web/Smartstore.Web.csproj -c Release -o ./.build/release --no-restore --no-build --no-self-contained | |
docker build --build-arg SOURCE=./.build/release -f NoBuild.Dockerfile -t ghcr.io/smartstore/smartstore-linux:nightly . | |
docker push ghcr.io/smartstore/smartstore-linux:nightly | |
#docker build --build-arg VERSION=nightly -f NoBuild.Dockerfile -t smartstore/smartstore-linux:nightly . | |
#docker push smartstore/smartstore-linux:nightly | |
- name: Publish and Push for Windows | |
if: matrix.os == 'windows-latest' | |
run: | | |
dotnet publish src/Smartstore.Web/Smartstore.Web.csproj -c Release -o ./.build/release --no-restore --no-build --no-self-contained | |
docker build --build-arg SOURCE=./.build/release -f Nano.Dockerfile -t ghcr.io/smartstore/smartstore-windows:nightly . | |
docker push ghcr.io/smartstore/smartstore-windows:nightly | |
#docker build --build-arg VERSION=nightly -f NoBuild.Dockerfile -t smartstore/smartstore-windows:nightly . | |
#docker push smartstore/smartstore-windows:nightly | |