iegomez / mosquitto-go-auth

Auth plugin for mosquitto.
MIT License
519 stars 170 forks source link

Automatically build binaries for Popular Linux archs #253

Closed hardillb closed 1 year ago

hardillb commented 1 year ago

This GH action uses the golang docker container to build the library for the following platforms:

Once built it adds them to the release as zip files

Links against version 2.0.15 of mosquitto but it's an env var at the top of the action so easily updated.

I couldn't get x86 to build nicely but less people are using that now and MacOS will take more work but I might see if I can get it going for a follow up PR.

fixes #162

part of flowforge/installer#53

iegomez commented 1 year ago

This looks good. Thanks, @hardillb!

hardillb commented 1 year ago

@iegomez Can you give me a hint to when you might be planning the next release? Just need to decide if I need to build/ship my own builds with the next @flowforge release or if I can just point over here.

Thanks.

iegomez commented 1 year ago

I can release right now with a target of 2.1.0 if that works for you, @hardillb.

Let me know.

hardillb commented 1 year ago

That would be great.

Our next release is next week, but need to write the docs and test.

iegomez commented 1 year ago

Ok, you got it.

iegomez commented 1 year ago

There's a problem with the integration for building: https://github.com/iegomez/mosquitto-go-auth/actions/runs/3677500924

If you can't see that, it's basically this:

Run softprops/action-gh-release@v1
[11](https://github.com/iegomez/mosquitto-go-auth/actions/runs/3677500924/jobs/6219542359#step:7:12)
⚠️ Unexpected error fetching GitHub release for tag refs/tags/2.1.0: HttpError: Resource not accessible by integration
[12](https://github.com/iegomez/mosquitto-go-auth/actions/runs/3677500924/jobs/6219542359#step:7:13)
Error: Resource not accessible by integration

I'm terribly busy these next few days, so sorry if I can't give it a look soon.

hardillb commented 1 year ago

I'll have a play on my fork and see if I can work out what went wrong.

It was just the last step of adding the zips to release, everything else appears to have worked properly.

hardillb commented 1 year ago

You may want to delete the release and tag so we can re-run it cleanly later.

iegomez commented 1 year ago

Yeah, I'm guessing that this may need some secret set in order to have access to publish to the release:

      - name: Release files
        uses: softprops/action-gh-release@v1
        with:
          files: |
            output/linux-amd64.zip
            output/linux-arm64.zip
            output/linux-armv6.zip
            output/linux-armv7.zip

Something similar to what's done in the Docker publishing workflow:

        name: Login to DockerHub
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
iegomez commented 1 year ago

You may want to delete the release and tag so we can re-run it cleanly later.

Already did.

hardillb commented 1 year ago

Hi, don't suppose you have time to look at this again?

I had a look at my local fork an I don't have any secrets defined for the action to use, the only thing I can think of is that under the project settings -> code and automation -> actions -> general at the bottom I have Workflow Permissions set to Read and Write permissions.

iegomez commented 1 year ago

I'm currently on vacation and coming back on Feb 6 or 7, I can take a look then.

iegomez commented 1 year ago

Ooph, I clearly failed to check on this and only remembered cause Dependabot's auto PRs failed to build Docker images (and that was a couple of weeks ago too, sigh). I'll open an issue as a reminder to set the credentials and try it.

iegomez commented 1 year ago

@hardillb I'm glad to announce that after a couple of tweaks I got the binaries release working. You can see it in this pre-release: https://github.com/iegomez/mosquitto-go-auth/releases/tag/2.0.2-test

I'll go ahead and properly release now. Thanks again for your contribution.

Cheers!