+++ 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/ ```