feat: add terraform actions
All checks were successful
semantic-release / release (push) Successful in 55s
All checks were successful
semantic-release / release (push) Successful in 55s
This commit is contained in:
16
.gitea/workflows/release.yaml
Normal file
16
.gitea/workflows/release.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
name: semantic-release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
release:
|
||||
uses: https://gitea.ldpt.fr/actions/semantic-release/.github/workflows/semantic-release.yml@58b6d322a5c5af1c45b637bc983f7f6476e8400e # v2.1.0
|
||||
12
release.config.js
Normal file
12
release.config.js
Normal file
@@ -0,0 +1,12 @@
|
||||
module.exports = {
|
||||
branches: ["main", "master"],
|
||||
tagFormat: "v${version}",
|
||||
plugins: [
|
||||
[
|
||||
"@semantic-release/commit-analyzer",
|
||||
{
|
||||
preset: "conventionalcommits"
|
||||
}
|
||||
],
|
||||
]
|
||||
};
|
||||
30
terraform-apply/action.yml
Normal file
30
terraform-apply/action.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
name: Terraform Apply
|
||||
description: Download the "terraform-plan" artifact and apply it
|
||||
|
||||
inputs:
|
||||
working-directory:
|
||||
description: Directory containing the Terraform configuration
|
||||
required: false
|
||||
default: "."
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Setup Terraform
|
||||
uses: hashicorp/setup-terraform@5e8dbf3c6d9deaf4193ca7a8fb23f2ac83bb6c85 # v4.0.0
|
||||
|
||||
- name: Terraform Init
|
||||
shell: bash
|
||||
working-directory: ${{ inputs.working-directory }}
|
||||
run: terraform init
|
||||
|
||||
- name: Download plan artifact
|
||||
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||
with:
|
||||
name: terraform-plan
|
||||
path: ${{ inputs.working-directory }}
|
||||
|
||||
- name: Terraform Apply
|
||||
shell: bash
|
||||
working-directory: ${{ inputs.working-directory }}
|
||||
run: terraform apply -auto-approve tfplan
|
||||
31
terraform-plan/action.yml
Normal file
31
terraform-plan/action.yml
Normal file
@@ -0,0 +1,31 @@
|
||||
name: Terraform Plan
|
||||
description: Run terraform plan and publish the plan as an artifact named "terraform-plan"
|
||||
|
||||
inputs:
|
||||
working-directory:
|
||||
description: Directory containing the Terraform configuration
|
||||
required: false
|
||||
default: "."
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Setup Terraform
|
||||
uses: hashicorp/setup-terraform@5e8dbf3c6d9deaf4193ca7a8fb23f2ac83bb6c85 # v4.0.0
|
||||
|
||||
- name: Terraform Init
|
||||
shell: bash
|
||||
working-directory: ${{ inputs.working-directory }}
|
||||
run: terraform init
|
||||
|
||||
- name: Terraform Plan
|
||||
shell: bash
|
||||
working-directory: ${{ inputs.working-directory }}
|
||||
run: terraform plan -out=tfplan
|
||||
|
||||
- name: Upload plan artifact
|
||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||
with:
|
||||
name: terraform-plan
|
||||
path: ${{ inputs.working-directory }}/tfplan
|
||||
retention-days: 5
|
||||
Reference in New Issue
Block a user