14 Commits

Author SHA1 Message Date
776deb2f3a prepare release v0.1.8
All checks were successful
Create Release / build (push) Successful in 1m29s
2023-10-06 00:07:30 +02:00
7c27907f24 downgrade go version 2023-10-06 00:07:08 +02:00
7329115d9e prepare release v0.1.7
Some checks failed
Create Release / build (push) Failing after 39s
2023-10-06 00:05:19 +02:00
f55605081a try the go image 2023-10-06 00:04:24 +02:00
cc8c306f3c prepare release v0.1.6
All checks were successful
Create Release / build (push) Successful in 28s
2023-10-05 20:55:29 +02:00
1c92f63ab1 ignore specific tags 2023-10-05 20:55:06 +02:00
c2a6a8fbe2 prepare release v0.1.5
All checks were successful
Create Release / build (push) Successful in 38s
2023-10-05 20:49:21 +02:00
026dc9d765 fix vault path 2023-10-05 20:49:07 +02:00
10bfe83870 prepare release v0.1.4
Some checks failed
Create Release / build (push) Failing after 20s
2023-10-05 20:48:16 +02:00
9fa34eb854 fix order of actions 2023-10-05 20:48:01 +02:00
cc28018025 prepare release v0.1.3
Some checks failed
Create Release / build (push) Failing after 4s
2023-10-05 20:46:46 +02:00
00377ec276 download binary 2023-10-05 20:46:23 +02:00
87a818c212 prepare release v0.1.2
All checks were successful
Create Release / build (push) Successful in 27s
2023-10-05 20:11:55 +02:00
adc73936a2 Empty Commit 2023-10-05 20:11:40 +02:00
8 changed files with 112 additions and 9 deletions

View File

@@ -4,9 +4,12 @@ on:
push: push:
tags: tags:
- '*' - '*'
tags-ignore:
- v0
- v1
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-go-latest
permissions: permissions:
contents: read contents: read
packages: write packages: write
@@ -14,7 +17,7 @@ jobs:
steps: steps:
- name: Import Secrets - name: Import Secrets
id: import-secrets id: import-secrets
uses: hashicorp/vault-action@v2 uses: https://git.mthie.com/mthie/vault-action@v0
with: with:
url: ${{ env.VAULT_ADDR }} url: ${{ env.VAULT_ADDR }}
method: ${{ env.VAULT_AUTH_TYPE}} method: ${{ env.VAULT_AUTH_TYPE}}
@@ -41,11 +44,6 @@ jobs:
ssh-keyscan -t rsa git.mthie.com >> ~/.ssh/known_hosts ssh-keyscan -t rsa git.mthie.com >> ~/.ssh/known_hosts
chmod 400 ~/.ssh/id_ecdsa ~/.ssh/config chmod 400 ~/.ssh/id_ecdsa ~/.ssh/config
- uses: actions/setup-go@v3
with:
go-version: '1.21'
check-latest: true
- name: Build binary - name: Build binary
run: | run: |
go get ./... go get ./...

View File

@@ -1,3 +1,31 @@
# 0.1.8 / 2023-10-06
* downgrade go version
# 0.1.7 / 2023-10-06
* try the go image
# 0.1.6 / 2023-10-05
* ignore specific tags
# 0.1.5 / 2023-10-05
* fix vault path
# 0.1.4 / 2023-10-05
* fix order of actions
# 0.1.3 / 2023-10-05
* download binary
# 0.1.2 / 2023-10-05
* test release
# 0.1.1 / 2023-10-05 # 0.1.1 / 2023-10-05
* add binary release * add binary release

View File

@@ -22,4 +22,4 @@ inputs:
required: false required: false
runs: runs:
using: 'go' using: 'go'
main: 'main.go' main: 'cmd/main.go'

3
cmd/go.mod Normal file
View File

@@ -0,0 +1,3 @@
module git.mthie.com/mthie/vault-action/cmd
go 1.21

66
cmd/main.go Normal file
View File

@@ -0,0 +1,66 @@
package main
import (
"context"
"encoding/json"
"io"
"log"
"net/http"
"os"
"os/exec"
)
func main() {
req, err := http.NewRequestWithContext(context.Background(), http.MethodGet, "https://git.mthie.com/api/v1/repos/mthie/vault-action/releases", nil)
if err != nil {
log.Panicf("error creating download request: %s", err)
}
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Panicf("error getting download information: %s", err)
}
type releaseInfo []struct {
Assets []struct {
URL string `json:"browser_download_url"`
} `json:"assets"`
}
downloadData := releaseInfo{}
if err := json.NewDecoder(resp.Body).Decode(&downloadData); err != nil {
log.Panicf("error decoding release information: %s", err)
}
resp.Body.Close()
if len(downloadData) == 0 || len(downloadData[0].Assets) == 0 {
log.Panic("no binary found")
}
req, err = http.NewRequestWithContext(context.Background(), http.MethodGet, downloadData[0].Assets[0].URL, nil)
if err != nil {
log.Panicf("error creating download request: %s", err)
}
resp, err = http.DefaultClient.Do(req)
if err != nil {
log.Panicf("error downloading binary: %s", err)
}
out, err := os.OpenFile("vault", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0755)
if err != nil {
log.Panicf("error creating file: %s", err)
}
if _, err = io.Copy(out, resp.Body); err != nil {
log.Panicf("error writing download data: %s", err)
}
out.Close()
resp.Body.Close()
cmd := exec.Command("./vault")
if err := cmd.Run(); err != nil {
log.Panicf("error executing: %s", err)
}
}

8
cmd/tmp.txt Normal file
View File

@@ -0,0 +1,8 @@
DEPLOY_KEY<<_GitHubActionsFileCommandDelimeter_
-----BEGIN EC PRIVATE KEY-----
MIGkAgEBBDB7OBLldAAcXseFvIF4DOBfLdaiQtUUnGU8UddpoUeCCGe/lwsMQzns
U0mOdkGAWwygBwYFK4EEACKhZANiAAQC8rWLLnxti4P4YpmAyb6xsD8Uv8ZKM7qJ
N6Lh2JqttfFp03s5fSjWIibDjwCBGqSTBitFU1YcJvc9ewWUOxHrta782GChVgjl
loezmUvX1oLCE0Koqd/U+fJnyC+LvJA=
-----END EC PRIVATE KEY-----
_GitHubActionsFileCommandDelimeter_

BIN
cmd/vault Executable file

Binary file not shown.

2
go.mod
View File

@@ -1,6 +1,6 @@
module git.mthie.com/mthie/vault-action module git.mthie.com/mthie/vault-action
go 1.21.1 go 1.21
require ( require (
github.com/hashicorp/vault/api v1.10.0 github.com/hashicorp/vault/api v1.10.0