1
0
hugo/content/blog/2021-08-09-twitter.md

69 lines
2.4 KiB
Markdown
Raw Normal View History

2024-04-23 13:21:26 +00:00
+++
date = "2021-08-09"
tags = ["twitter","golang"]
title = "twg v0.4.5 [twitter clinet on go]"
slug = "twitter"
+++
twitter上でのやり取りが不便だったので、自分で使ってるtwgというclientをupdateしました。あと、imageをtweetする機能もつけました。
app keyが入れてあるので、releaseからdlしてください。twitter apiの`consumer_key, consumer_secret_key`を持っている人は、srcをbuildして使えます。
https://github.com/syui/twg/releases
ciはtravisからgh-actionsに移行しましたが、またハマりました。
goxでbuildする際に、darwin/386はunsuportのerrが出るので、optionで出力を指定してやらなければなりません。goは1.14からdarwin/386がunsuportされ、1.16では戻ったみたいですけど、errが出ます。
```sh
--> darwin/386 error: exit status 2
Stderr: cmd/go: unsupported GOOS/GOARCH pair darwin/386
make: *** [build] Error 1
```
その他、tagからverを抜き出すのは、`env: REF=${{ github.ref }}`, `${REF##*/}`がいいです。
```yml:.github/workflows/releases.yml
on:
push:
branches:
- master
create:
tags:
- v*.*.*
jobs:
release: # job_id
name: Build
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.16
uses: actions/setup-go@v1
with:
version: 1.16
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@master
- name: Build
env:
GO111MODULE: on
GOPATH: /home/runner/work/
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
C_KEY: ${{ secrets.C_KEY }}
REF: ${{ github.ref }}
CS_KEY: ${{ secrets.CS_KEY }}
run: |
export CREATE_EVENT_REF_TYPE=$(jq --raw-output .ref_type "$GITHUB_EVENT_PATH")
go get -t -v ./...
go get -u github.com/mitchellh/gox
go get -u github.com/tcnksm/ghr
$GOPATH/bin/gox -osarch "freebsd/arm linux/386 linux/amd64 linux/arm linux/mips64le linux/mips64 linux/mipsle linux/mips linux/s390x netbsd/386 netbsd/amd64 netbsd/arm openbsd/386 openbsd/amd64 windows/386 windows/amd64 darwin/amd64" -output "dist/{{.OS}}_{{.Arch}}_{{.Dir}}" -ldflags="-X github.com/syui/twg/oauth.ckey=${C_KEY} -X github.com/syui/twg/oauth.cskey=${CS_KEY}"
$GOPATH/bin/ghr --username syui --token ${GITHUB_TOKEN} --replace --debug ${REF##*/} dist/
```