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

71 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@v3
            - 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@v3
    
            - 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 }}