name: Upload Python Package permissions: contents: write env: SKIP_MAKE_SETUP_CHECK: 'true' on: push: # Sequence of patterns matched against refs/tags tags: - '*' # Push events to matching v*, i.e. v1.0, v20.15.10 # Allows you to run this workflow manually from the Actions tab workflow_dispatch: jobs: release: name: Create Release runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/checkout@v3 with: # by default, it uses a depth of 1 # this fetches all history so that we can read each commit fetch-depth: 0 - name: Generate Changelog run: .gitea/release_message.sh > release_message.md - name: Release uses: softprops/action-gh-release@v1 with: body_path: release_message.md deploy: needs: release runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up dotnet uses: actions/setup-dotnet@v4 with: dotnet-version: '9.0.X' - name: Check version match run: | REPOSITORY_NAME=$(echo "$GITHUB_REPOSITORY" | awk -F '/' '{print $2}' | tr '-' '_') if [ "$(cat $REPOSITORY_NAME/VERSION)" = "${GITHUB_REF_NAME}" ] ; then echo "Version matches successfully!" else echo "Version must match!" exit -1 fi - name: Build and publish env: GITEA_PAT: ${{ secrets.PACKAGE_GITEA_PAT }} run: | REPOSITORY_OWNER=$(echo "$GITHUB_REPOSITORY" | awk -F '/' '{print $1}') REPOSITORY_NAME=$(echo "$GITHUB_REPOSITORY" | awk -F '/' '{print $2}' | tr '-' '_') REPOSITORY_SOURCE_NAME=gitea-repo if [ -z "$(dotnet nuget config get all | grep "/packages/${REPOSITORY_OWNER}/nuget/index.json")" ]; then dotnet nuget add source --name $REPOSITORY_SOURCE_NAME https://git.disi.dev/api/packages/$REPOSITORY_OWNER/nuget/index.json else QUOTED_REPOSITORY_SOURCE_NAME=$(dotnet nuget config get all | grep "/packages/${REPOSITORY_OWNER}/nuget/index.json" | awk '{print $2}' | awk -F= '{print $2}') REPOSITORY_SOURCE_NAME=${QUOTED_REPOSITORY_SOURCE_NAME:1:-1} fi dotnet pack --include-symbols --include-source -p:PackageVersion=$(cat $REPOSITORY_NAME/VERSION) LevelInputProvider.sln dotnet nuget push -k $GITEA_PAT --source $REPOSITORY_SOURCE_NAME $REPOSITORY_NAME/bin/Release/$REPOSITORY_NAME.$(cat $REPOSITORY_NAME/VERSION).symbols.nupkg