Skip to content

finished maildomain setup #53

finished maildomain setup

finished maildomain setup #53

name: release-pulumi-gotiac-aws
on:
push:
tags:
- 'packages/pulumi-gotiac-aws/v*.*.*'
- '!v*.*.*-**'
env:
# THIS GITHUB_TOKEN IS A REQUIREMENT TO BE ABLE TO WRITE TO GH RELEASES
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# IF YOU NEED TO PUBLISH A NPM PACKAGE THEN ENSURE A NPM_TOKEN SECRET IS SET
# AND PUBLISH_NPM: TRUE. IF YOU WANT TO PUBLISH TO A PRIVATE NPM REGISTRY
# THEN ENSURE THE NPM_REGISTRY_URL IS CHANGED
# NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}
NPM_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}
PUBLISH_NPM: true
NPM_REGISTRY_URL: https://registry.npmjs.org
# IF YOU NEED TO PUBLISH A NUGET PACKAGE THEN ENSURE AN NUGET_PUBLISH_KEY
# SECRET IS SET AND PUBLISH_NUGET: TRUE. IF YOU WANT TO PUBLISH TO AN ALTERNATIVE
# NPM REGISTRY THEN ENSURE THE NPM_REGISTRY_URL IS CHANGED
# NUGET_PUBLISH_KEY: ${{ YOUR NUGET PUBLISH KEY HERE }}
NUGET_FEED_URL: https://api.nuget.org/v3/index.json
PUBLISH_NUGET: false
# IF YOU NEED TO PUBLISH A PYPI PACKAGE THEN ENSURE AN PYPI_API_TOKEN
# SECRET IS SET AND PUBLISH_PYPI: TRUE. IF YOU WANT TO PUBLISH TO AN ALTERNATIVE
# PYPI REGISTRY THEN ENSURE THE PYPI_REPOSITORY_URL IS SET. IF YOU ARE USING AN API_TOKEN THEN
# YOU DO NOT NEED TO CHANGE THE PYPI_USERNAME (__token__) , IF YOU ARE USING PASSWORD AUTHENTICATION THEN YOU WILL
# NEED TO CHANGE TO USE THE CORRECT PASSWORD
# PYPI_PASSWORD: ${{ YOUR PYPI PASSWORD HERE }}
PYPI_USERNAME: 'YOUR PYPI USERNAME HERE'
PYPI_REPOSITORY_URL: ''
PUBLISH_PYPI: false
jobs:
publish-binary:
name: publish
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Unshallow clone for tags
run: git fetch --prune --unshallow --tags
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{matrix.goversion}}
- name: Install pulumictl
uses: jaxxstorm/[email protected]
with:
repo: pulumi/pulumictl
- name: Build binary
working-directory: ./packages/pulumi-gotiac-aws
run: make build_provider
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
- name: Generate Tarball
working-directory: ./packages/pulumi-gotiac-aws
run:
tar -zcf ${{ matrix.binary }}-${{ matrix.version }}-${{ matrix.goos }}-${{ matrix.goarch }}.tar.gz -C
bin/ .
- name: Create and upload Release
uses: ncipollo/release-action@v1
with:
artifacts:
'./packages/pulumi-gotiac-aws/${{ matrix.binary }}-${{ matrix.version }}-${{ matrix.goos }}-${{
matrix.goarch }}.tar.gz'
allowUpdates: true
strategy:
fail-fast: true
matrix:
version:
- 'v0.0.50'
binary:
- pulumi-resource-gotiac
goversion:
- 1.22.x
goarch:
- amd64
- arm64
goos:
- darwin
- windows
- linux
publish_sdk:
name: Publish SDKs
runs-on: ubuntu-latest
needs: publish-binary
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Unshallow clone for tags
run: git fetch --tags --force
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.goversion }}
- name: Install pulumictl
uses: jaxxstorm/[email protected]
with:
repo: pulumi/pulumictl
- name: Install Pulumi CLI
uses: pulumi/[email protected]
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: ${{matrix.nodeversion}}
registry-url: ${{env.NPM_REGISTRY_URL}}
- name: Setup DotNet
uses: actions/setup-dotnet@v1
with:
dotnet-version: ${{matrix.dotnetverson}}
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: ${{matrix.pythonversion}}
- name: Setup Bun
uses: oven-sh/setup-bun@v1
- name: Build SDK
working-directory: ./packages/pulumi-gotiac-aws
run: make build_${{ matrix.language }}_sdk
- name: Check worktree clean
working-directory: ./packages/pulumi-gotiac-aws
run: |
git update-index -q --refresh
if ! git diff-files --quiet; then
>&2 echo "error: working tree is not clean, aborting!"
git status
git diff
exit 1
fi
- name: Compress SDK folder
working-directory: ./packages/pulumi-gotiac-aws
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.language }}-sdk.tar.gz
path: ${{ github.workspace}}/packages/pulumi-gotiac-aws/sdk/${{ matrix.language }}.tar.gz
- if: ${{ matrix.language == 'python' && env.PUBLISH_PYPI == 'true' }}
name: Publish package to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: ${{ env.PYPI_USERNAME }}
password: ${{ env.PYPI_PASSWORD }}
packages_dir: ${{github.workspace}}/packages/pulumi-gotiac-aws/sdk/python/bin/dist
- if: ${{ matrix.language == 'nodejs' && env.PUBLISH_NPM == 'true' }}
uses: JS-DevTools/npm-publish@v1
with:
access: 'public'
token: ${{ env.NPM_TOKEN }}
package: ${{github.workspace}}/packages/pulumi-gotiac-aws/sdk/nodejs/bin/package.json
- if: ${{ matrix.language == 'dotnet' && env.PUBLISH_NUGET == 'true' }}
name: publish nuget package
run: |
dotnet nuget push ${{github.workspace}}/packages/pulumi-gotiac-aws/sdk/dotnet/bin/Debug/*.nupkg -s ${{ env.NUGET_FEED_URL }} -k ${{ env.NUGET_PUBLISH_KEY }}
echo "done publishing packages"
strategy:
fail-fast: true
matrix:
dotnetversion:
- 3.1.301
goversion:
- 1.22.x
language:
- nodejs
# - python
# - dotnet
# - go
nodeversion:
- 14.x
pythonversion:
- '3.9'