diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 0000000..531219d --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,53 @@ +name: Release and Deploy Contract + +on: + push: + branches: + - main + workflow_dispatch: + inputs: + generate-tag: + description: 'Generate a new tag' + required: true + default: 'true' + custom-tag: + description: 'Custom tag to be used if generate-tag is false' + required: false + default: '' + network: + description: 'Network to deploy contract to' + required: true + default: 'holesky' + type: choice + options: + - holesky + environment: + description: 'Environment to deploy contract to' + required: true + default: 'dev' + type: choice + options: + - dev + +permissions: + packages: write + contents: write + +jobs: + auto-release: + uses: init4tech/actions/.github/workflows/auto-release.yml@main + with: + generate-tag: true + custom-tag: ${{ github.event.inputs.custom-tag }} + deploy-contract: + uses: init4tech/actions/.github/workflows/solidity-deployment.yml@main + needs: auto-release + with: + network: ${{ github.event.inputs.network }} + environment: ${{ github.event.inputs.environment }} + forge-deployment-script: "DeployZenith" + secrets: + aws-deployer-role: ${{ secrets.AWS_DEPLOYER_ROLE }} + holesky-kms-key-id: ${{ secrets.HOLESKY_DEPLOYER_KEY_ID }} + holesky-rpc-url: ${{ secrets.HOLESKY_RPC_URL }} + etherscan-api-key: ${{ secrets.ETHERSCAN_API_KEY }} \ No newline at end of file