gotaskr
typescript-action
Our great sponsors
gotaskr | typescript-action | |
---|---|---|
8 | 29 | |
17 | 1,769 | |
- | 3.4% | |
6.9 | 9.2 | |
about 2 months ago | 6 days ago | |
Go | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gotaskr
-
Generic Task Runner in Go -> gotaskr
Feel free to head over to GitHub and check the wiki for more details and I would be happy to get feedback or improvement ideas for gotaskr.
-
Build / Makefile templates for Go monorepo?
I created https://github.com/Roemer/gotaskr for that and we are very happy with it for a very complex build system. Give it a try if you want.
-
Is your makefile supposed to be a justfile?
May I present my alternative https://github.com/Roemer/gotaskr It is kind of similar to magefile but provides some other features similar to cake build and inbuilt tools useful for devops. And also it is a plain go program so no magic compilation in the background. It replaced basically 100 bash files in our rather complex build/deploy setup. Sometimes a declarative approach is just not enough.
-
Unpopular opinion: CI/CD engines are an awful idea
I have used many CI systems on large scale and to be honest, Jenkins is still my favorite. Everything you need is provided and works. You have 100% control over the workflow. With code. All those declarative yaml based ones need sooooo much workarounds to get more complex workflows to run and often you are just stuck with a less optimal solution. Beside the build workflow, we do not write any build logic in the ci engine but use external code runners instead. For .Net I used Cake or Nuke build for example but now my absolute preference for build logic is go. There we use a task runner like gotaskr. This helps having the build logic centralized and usually you can also run different build tasks locally to debug and test them. Also with go, you don‘t need any runtime to run the logic. Just build the task runner once and then you can copy the binary anywhere (eg for parallel build tasks) and just run it. This is optimal to integrate it in Docker base builds so you don‘t need to change the base image at all.
-
Task runner like go-task/task, but in pure Go, no external DSLs
May I present my solution: https://github.com/Roemer/gotaskr Heavily inspired by cake build. It has no compile magic anywhere. Just write your go file and run the tasks in it. Or build it and re-use it in a ci for example.
-
Utility library, most gopher way for namespaces/packages
The current refactoring is in: https://github.com/Roemer/gotaskr/tree/feature/toolsrefactoring
-
Any open source projects need help ?
I'm a go youngling that tried to create a task runner (inspired by cake build for .net) in go as an alternative to magefile. What I would like is to get some feedback about how it is implemented and if there are go-principles that are violated and where the code should be improved. So if you want to do some reviewing, feel free to have a look at https://github.com/Roemer/gotaskr
typescript-action
-
Hashnode Blog GitHub Action - fetch and display the latest blogs in a nice format
While learning about GitHub Actions, I came across the GitHub Actions Org, and they have a bunch of templates for building custom GitHub actions. So, I started searching for a template that has TypeScript support, ensuring type safety to write bug-free code. I found the typescript-action template that includes support for tests, linter, versioning, and more.
-
Dynamically importing a downloaded file in a TypeScript GitHub action.
This is the template I used for my TypeScript action https://github.com/actions/typescript-action
-
Develop, test, and deploy your extensions for all popular CIs from a single codebase
I found the GitHub actions documentation easier to read than Azure, so I would recommend starting writing and testing your extensions on GitHub by using the official template actions/typescript-action. The mentioned template provides a good starting point; I won't repeat the steps here. Play with it, write some simple stuff, and then return here for the next steps.
-
Speeding up GitHub Actions with npm cache
GitHub maintain a set of repos called actions. One of which is called cache.
-
AdaGPT: My Learnings While Building a GitHub Action
To get started quickly with a JavaScript action, I recommend using the official templates from GitHub for JavaScript and TypeScript.
-
Rust is not hard! Part 1: GitHub Actions
On the TypeScript side, setup was much easier. There was already a template from GitHub that took care of the basics. Most of the time spent here was updating dependencies and getting my editor to play nicely with it—18 minutes, about 10% of the total.
- CICD pipelines written in Typescript
- Unpopular opinion: CI/CD engines are an awful idea
-
Creating GitHub Actions for community engagement
Now that you know how to create your own GitHub Actions, why not give it a try? Head to the GitHub Marketplace and start exploring the existing Actions, or create your own and share it with the community. With GitHub Actions, the possibilities are endless, so start building and see what you can accomplish
-
How to Debug Tests in the CI Pipeline
Your build most likely fails because your tests fail. Most CI pipelines today, like Jenkins, Circleci, GitLab, TeamCity, Bamboo, and GitHub Actions, are configured to automatically cause the build process to fail when tests fail.
What are some alternatives?
weaver - Programming framework for writing and deploying cloud applications.
codeql-action - Actions for running CodeQL analysis
go-gitlab - GitLab Go SDK
ncc - Compile a Node.js project into a single file. Supports TypeScript, binary addons, dynamic requires.
kertish-dfs - Kertish-dfs is a simple distributed storage platform, implements file storage on a single distributed computer cluster, and provides interfaces for file/folder handling. Kertish-dfs aims primarily for completely distributed operation without a single point of failure, scalable to the exabyte level.
get-changed-files - Get all of the files changed/modified in a pull request or push's commits.
devtron - Tool integration platform for Kubernetes
sticky-pull-request-comment - create comment on pull request, if exists update that comment.
ziti - The parent project for OpenZiti. Here you will find the executables for a fully zero trust, application embedded, programmable network @OpenZiti
publish-unit-test-result-action - GitHub Action to publish unit test results on GitHub
mkdkr - mkdkr = Makefile + Docker
vercel-action - This action make a deployment with github actions instead of Vercel builder.