Commit Graph

51 Commits

Author SHA1 Message Date
Markus Thömmes 163588f5a5
Add knative/hack scripts for updating deps (#534) 2021-09-19 16:04:33 -07:00
jrangelramos 5f843f09f6
test: separated with tags common language runtime e2e tests from othe… (#492)
* test: separated with tags common language runtime e2e tests from other e2e tests

* test: rewording e2e scripts and tags to better represent its purposes
2021-08-25 13:14:31 -07:00
Luke Kingland 3f56a8fd7a
feat: repository and templates client api (#475)
* feat: repositories accessor

* feat: repository and templates client api

- Templates management api
- Repositories management api expansion

* fix: nil pointer reference on generate

* src: remove unused test functions

* src: test temp directory name consistency and comment improvements
2021-08-24 10:41:24 -07:00
Matej Vasek 25b1d63b9c
fix: better cleanup before pkger run (#479)
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-08-15 21:28:54 -07:00
Matej Vasek 84ff281bed
test: `config` sub-command (#457)
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-08-12 06:30:35 -07:00
Luke Kingland 6ae2157549
feat: make func schema if config updated (#468)
Adds the config schema as integrated into the general build process.
Considers schema generation a prerequisite for building, peer to
such tasks as rebuilding pkged.go, but unlike pkged.go, is triggered
on a clean.  A missing schema file or modified config.go triggers
rebuild on make.
2021-08-10 09:44:59 -07:00
Zbynek Roubalik 8939f89bea
feat: generate json schema for func.yaml (#460)
Signed-off-by: Zbynek Roubalik <zroubali@redhat.com>
2021-08-09 03:28:11 -07:00
Luke Kingland 92b309f791
build: remove pkged.go from make clean (#456) 2021-08-02 08:37:42 -07:00
Luke Kingland 435d1ac2a3
fix: unnecessary template repackaging (#449)
Removes python caches on template test.  This appears to be the original
cause of unnecessary rebuilds.

Adds pkger.go as an explict entry in the CODE prerequisite var.  This
ensures pkged.go is generated if it doesn't exist, and removes the need
to explicitly enumerate it as a prerequisite to other targets.

Adds pkger.go to the clean target.  This allows a 'make clean && make' to
work as one might expect.  For example ensuring a rebuild if a template
files is removed.

The notable conceptual change here is that this does not induce a build of
pkged.go by explicitly enumarating it as a prerequisite (a difficult
thing to get right, and prone to errors in the future), but rather
directly enumerates ./templates as its prerequisite.

Additional minor modifications include:
- regenerated pkged.go such that this takes effect for main on merge
- adds an explicit target for the 'func' binary and aliases 'build'
- Makefile help text cleanup and consolidation
2021-07-30 07:34:31 -07:00
Luke Kingland c257de807d
src: Makefile developer accessibility (#428)
* ci: increase dns update max retries

* src: Makefile accessibility

Restructures the Makefile for better readibility
Separates core unit tests from template unit tests
Adds a `help` target highlighting core targets
Removes unused 'cluser' and 'release' targets
Removes unused targets
2021-07-21 00:45:38 -07:00
Lance Ball bfa5746442
chore: bump to buildpacks v0.8.3 for all versions (#402)
* chore: bump to buildpacks v0.8.2 for all versions

This is causing me to rethink using versions in these templates, and our
overall buildpack version/release strategy. But for now, we should land
this before 0.16.0

* adds trust for any quay.io/boson builder

Signed-off-by: Lance Ball <lball@redhat.com>
2021-06-23 12:44:42 -04:00
Jim Crossley 4711638495
feat: Rust templates (#376)
* Rust templates for http/event triggers

Each template is a fully-formed actix-web application that includes a
main.rs providing the server configuration and a handler.rs showing an
example function and a few simple unit tests. A README.md provides a
bit more detail to get the user started. The events handler is similar
to the example in the old faas-rust-runtime project.

* With developer guide for Rust
2021-06-18 13:08:50 -04:00
jrangelramos ae8ee9a02c
ci: implementation proposal for func e2e test (#363)
Signed-off-by: Jefferson Ramos <jrangeramos@gmail.com>
2021-06-02 09:43:04 +02:00
Lance Ball d3eafe2a84
feat: add typescript templates (#355)
* feat: add typescript templates

Bumps the faas-js-runtime dependency to 0.7.1 and Node.js buildpack dependency to v0.8.1

fix file globbing on windows

adjust eslint/prettier for windows

improve READMEs

add usage guide

Signed-off-by: Lance Ball <lball@redhat.com>
2021-05-26 11:23:42 -04:00
Zbynek Roubalik f62303b091
chore: bump golangci-lint version (#360)
Signed-off-by: Zbynek Roubalik <zroubali@redhat.com>
2021-05-25 15:05:28 +02:00
Lance Ball 2b025df199
src!: revert bump to go 1.16 and template changes (#340)
* Revert "src: rename boson import 'fn'"

This reverts commit c0a6f561c0.

* Revert "src: all test dirs set to 0700"

This reverts commit 99f01220c2.

* Revert "src: better error when custom template not found"

This reverts commit 6673395834.

* Revert "src: better errors when custom runtime not found"

This reverts commit a31a6f67a1.

* Revert "build: create separate target for templates.tgz"

This reverts commit 11164bf8d9.

* Revert "src: use consistent separators for fs.FS instances"

This reverts commit 4db07b412f.

* Revert "src: update go event template dependencies"

This reverts commit 3bfc13380f.

* Revert "src: tarfs assumes forward slashes internally"

This reverts commit 6cc0e67b1c.

* Revert "feat: support windows paths in embedded templates FS"

This reverts commit c2b216857b.

* Revert "feat: positive error when runtimme or template unrecognized"

This reverts commit acc56b0900.

* Revert "fix: lint issues"

This reverts commit 895872aee7.

* Revert "ci: go 1.16 compatiblity updates"

This reverts commit 1e3959c045.

* Revert "feat: preserve file modes using in-memory tar FS"

This reverts commit 7dc772ec62.

* Revert "feat: create templates archive on go generate"

This reverts commit 63b7f11471.

* Revert "ci: remove pkger from ci"

This reverts commit 876b0dd0f7.

* Revert "src: remove pkger dependency and tidy"

This reverts commit f006ab1e32.

* Revert "src: remove packaging artifact"

This reverts commit 4d9d0a7b4e.

* Revert "src: remove pkger from make targets"

This reverts commit e44c1ad74c.

* Revert "src: replace pkger with embed.FS"

This reverts commit 38874a4afd.

* Revert "src: update references to deprecated ioutil"

This reverts commit 4025460f73.

* Revert "src: require go 1.16"

This reverts commit 512d4c2580.

* chore: update pkged.go

Signed-off-by: Lance Ball <lball@redhat.com>
2021-05-12 14:37:21 -04:00
Luke Kingland 87fd7babf1
chore: remove deprecated func image 2021-05-10 21:00:23 +09:00
Luke Kingland 11164bf8d9
build: create separate target for templates.tgz 2021-05-07 14:05:38 +09:00
Luke Kingland 1e3959c045
ci: go 1.16 compatiblity updates 2021-05-07 14:05:16 +09:00
Luke Kingland 63b7f11471
feat: create templates archive on go generate 2021-05-07 14:04:41 +09:00
Luke Kingland e44c1ad74c
src: remove pkger from make targets 2021-05-07 14:00:46 +09:00
Matej Vasek 2b5814c8c8
src: cleanup after test
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-05-06 15:04:12 +02:00
lkingland 255b4fb33c
Draft releases through synchronous tagging (#320)
* feat: synchronously tag releases

* fix: missing verbose version info in inter-release binaries
2021-04-27 17:06:39 -04:00
Lance Ball ce47370654
chore: fix versioning in CI builds (#290)
* chore: fix versioning in CI builds

For unknown reasons, the git tag for a release CI build via release-please
seems to happen after the build completes. It's a bit uncleear, but the
result is that we get v0.0.0 versions for released builds.

This commit modifies the Makefile to allow for an environment override of
the $VERS variable. Since the release-please-action documents `tag_name`
as output from the action, we can use this in CI to set the environment
variable.

Signed-off-by: Lance Ball <lball@redhat.com>
2021-04-01 09:28:08 -04:00
Lance Ball 08f4fc7bd9
feat: add python templates (#286)
Signed-off-by: Lance Ball <lball@redhat.com>
2021-03-30 17:08:42 -04:00
Luke Kingland d915554d71
src: add makefile target 2021-03-10 19:35:27 +09:00
Luke Kingland ddf4ab86c4
feat: integration tests target 2021-03-10 19:35:27 +09:00
Luke Kingland f1a6561543
src: also package templates on 'go generate' 2021-03-10 19:35:27 +09:00
Lance Ball ed9a405604
chore: use 'npm ci' instead of 'npm install' for Node.js tests (#251)
This will ensure that package-lock.json is not updated with patch releases
unintentionally - that should be done with intent.

Signed-off-by: Lance Ball <lball@redhat.com>
2020-12-11 10:01:05 -05:00
Lance Ball 99bee20639
chore: ensure that pkger is run when templates change (#239)
This commit adds `pkger` to the Makefile, ensuring that when any changes are
made in the `templates` directory it runs. For CI, I've added a download of the
`pkger` binary.

Fixes: https://github.com/boson-project/faas/issues/230

Signed-off-by: Lance Ball <lball@redhat.com>
2020-12-10 10:27:59 -05:00
Zbynek Roubalik 470ebb9da4
rename function -> func (#217)
Signed-off-by: Zbynek Roubalik <zroubali@redhat.com>
2020-11-06 12:47:30 +01:00
Zbynek Roubalik cd57692c9d
feat!: rename faas to function (#210)
* rename faas to function

Signed-off-by: Zbynek Roubalik <zroubali@redhat.com>

* function.yaml -> func.yaml

Signed-off-by: Zbynek Roubalik <zroubali@redhat.com>
2020-11-06 10:41:42 +01:00
Matej Vasek b7670a3f7b
chore: run GH actions on Windows and macOS 2020-09-16 17:29:13 +02:00
Luke K 38d41baaa3
feat: golangci-lint allow enum shorthand, use config file 2020-08-31 17:10:08 +09:00
Luke K 4918cc7eef
feat: cli usability enhancements and API simplification 2020-08-29 01:54:13 +09:00
Lance Ball c0426b5a3c
test: add test targets for go and quarkus templates (#72)
This commit adds Makefile targets for go and quarkus, and includes these
in the regular `make test` target. I've also added a couple of entries to
.gitignore.
2020-08-19 07:56:35 -04:00
Lance Ball ea7fe15376
src(templates/node): update Node.js templates (#68)
This commit updates the Node.js templates to use the latest faas-js-runtime
framework, and fixes a couple of dependency issues and broken tests. I have
also added a build time test for these templates so that if/when they change
again, we can be sure to catch any problems.
2020-08-13 17:05:25 -04:00
Matej Vasek 11692f6bd3
chore: build static binary 2020-08-10 18:54:48 +02:00
Matej Vasek 382fcf8d1e
chore: add `-race` flag for tests 2020-07-30 16:01:25 +02:00
Luke K 653dec5eae
build: reduce build verbosity for cross-platform compilations 2020-07-29 16:04:09 +00:00
Luke K ebd2c11964
fix: build using environmentally-defined settings for GOOS and GOARCH by default 2020-07-29 16:03:17 +00:00
Matej Vasek 4677b3452f
chore: add lint to GH actions CI 2020-07-29 17:47:08 +02:00
Luke K c3d983907d
Merge remote-tracking branch 'markito/develop' into develop 2020-07-29 14:54:36 +00:00
Luke K cc016db990
build: update container latest tag when releasing 2020-07-28 14:52:49 +00:00
William Markito a39a57331f Fix ordering of platforms and set default to linux 2020-07-28 09:18:02 -05:00
Lance Ball 0810d9ace4
actions: add CHANGELOG.md and a release target to Makefile (#45)
This commit adds a `release` target to the Makefile, simplifying the generation
of the CHANGELOG.md (oh, this commit also adds a CHANGELOG.md). Invoke the
make target like so.

```sh
make release VTAG=v0.4.1
```

This will update the CHANGELOG with the commits included since the last
release, commit that change, and create the version tag. Then you just need
to push to github in order to publish the binary.
2020-07-28 09:14:45 -04:00
William Markito ce8448dde6 Adding multiple platforms to Makefile 2020-07-27 17:47:58 -05:00
Luke K cb0a74714c
enable build from tag 2020-07-08 12:22:27 +00:00
Luke K 287df42499
workflows 2020-07-08 09:41:46 +00:00
Luke K 161540c789
docker image 2020-07-08 03:08:30 +00:00