Skip to content

matifali/update-coder-template

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Update Coder Template

Update coder templates automatically

Usage

  1. Create a GitHub secret named CODER_SESSION_TOKEN with your coder session token You can generate a long lived session token by running the following command in your browser console while logged into Coder with a Template Admin or Owner role.

      coder token create --lifetime 8760h --name "GitHub Actions"
  2. Create a .github/workflows/push-coder-template.yaml file and use one of the examples below.

Inputs

Name Description Default
url Required The url of coder deployment (e.g. https://dev.coder.com). -
coder_session_token Required The session token of coder. -
id Required The name of the template. Visible under Template Settings > General info in the coder deployment. -
dir Required The directory of the template that contains main.tf file -
name New version name for the template. Autogenerated name by Coder
activate Activate the new template version. true
message Update message (similar to commit messages) -
dry_run Dry run mode. false

Examples

  1. Update a Coder template with the latest commit hash as the version name, commit message as the update message and mark this as active.

    name: Update Coder Template
    
    on:
      push:
        branches:
          - main
    
    jobs:
      update:
        runs-on: ubuntu-latest
        steps:
          - name: Checkout
            uses: actions/checkout@v4
    
          - name: Get latest commit hash
            id: latest_commit
            run: echo "hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
    
          - name: Get commit title
            id: commit_title
            run: echo "title=$(git log -1 --pretty=%s)" >> $GITHUB_OUTPUT
    
          - name: Update Coder Template
            uses: matifali/update-coder-template@v3
            with:
              id: my-template
              dir: my-template
              url: https://coder.example.com
              name: ${{ steps.latest_commit.outputs.hash }}
              message: ${{ steps.commit_title.outputs.title }}
              coder_session_token: ${{ secrets.CODER_SESSION_TOKEN }}
  2. Update a Coder template with a random version name without activating.

    name: Update Coder Template
    
    on:
      push:
        branches:
          - main
    
    jobs:
      update:
        runs-on: ubuntu-latest
        steps:
          - name: Checkout
            uses: actions/checkout@v4
    
          - name: Update Coder Template
            uses: matifali/update-coder-template@v3
            with:
              id: my-template
              dir: my-template
              url: https://coder.example.com
              activate: false
              coder_session_token: ${{ secrets.CODER_SESSION_TOKEN }}