2021-08-09 / @syui

twitter , golang

twg v0.4.5 [twitter clinet on go]

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が出ます。

--> 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##*/}がいいです。

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/