Skip to content

Commit

Permalink
#142 phase2 (#144)
Browse files Browse the repository at this point in the history
  • Loading branch information
maythamfahmi authored Dec 29, 2024
1 parent e1ac44e commit 46bbf2d
Show file tree
Hide file tree
Showing 5 changed files with 135 additions and 0 deletions.
32 changes: 32 additions & 0 deletions .github/workflows/cd-release-preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: "2. Continuous Deployment (Release Preview)"

on:
push:
tags:
- "v[0-9]+\\.[0-9]+\\.[0-9]+-preview[0-9]+\\.[0-9]+"

jobs:
build:
runs-on: ubuntu-latest

timeout-minutes: 15

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x

- name: Set VERSION variable from tag
run: echo "VERSION=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_ENV

- name: Pack
run: dotnet pack --configuration Release /p:Version=${VERSION} --output .

- name: Push
run: dotnet nuget push CryptoNet.${VERSION}.nupkg --source https://api.nuget.org/v3/index.json --api-key ${NUGET_TOKEN}
env:
NUGET_TOKEN: ${{ secrets.NUGET_TOKEN }}
47 changes: 47 additions & 0 deletions .github/workflows/cd-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: "2. Continuous Deployment (Release)"

on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"

jobs:
build:
runs-on: ubuntu-latest

timeout-minutes: 15

steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Verify commit exists in origin/main
run: git branch --remote --contains | grep origin/main

- name: Extract release notes
run: |
git log --pretty=format:'%d %s' ${GITHUB_REF} | perl -pe 's| \(.*tag: v(\d+.\d+.\d+(-preview\d{3})?)(, .*?)*\)|\n## \1\n|g' > RELEASE-NOTES
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x

- name: Set VERSION variable from tag
run: echo "VERSION=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_ENV

- name: Build
run: dotnet build --configuration Release /p:Version=${VERSION}

- name: Test
run: dotnet test --configuration Release /p:Version=${VERSION} --no-build

- name: Pack
run: dotnet pack --configuration Release /p:Version=${VERSION} --no-build --output .

- name: Push
run: dotnet nuget push CryptoNet.${VERSION}.nupkg --source https://api.nuget.org/v3/index.json --api-key ${NUGET_TOKEN}
env:
NUGET_TOKEN: ${{ secrets.NUGET_TOKEN }}
File renamed without changes.
File renamed without changes.
56 changes: 56 additions & 0 deletions .github/workflows/static.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: "4. Deploy static content to Pages"

on:
push:
branches:
- "main"
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
deploy:
runs-on: ubuntu-latest

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: "8.0.x"

- name: Install DocFX
run: dotnet tool install -g docfx

- name: Build DocFX Documentation
run: |
docfx metadata
docfx build docfx.json -o _site
- name: Setup Pages
uses: actions/configure-pages@v5

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: "./_site"

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

0 comments on commit 46bbf2d

Please sign in to comment.