Skip to content

Conversation

@ArvindR12
Copy link

Please replace every line in curly brackets ( { like this } ) with an appropriate description, and remove this line.

What is the goal of this PR?

{ Please describe the goal of this PR, why they are valuable to achieve, and reference the related GitHub issues. }

What are the changes implemented in this PR?

{ Please explain what you implemented, why your changes are the best way to achieve the goal(s) above, and reference the GitHub issues to be automatically closed, such like 'closes #number'. }

krishnangovindraj and others added 27 commits January 12, 2024 12:45
## What is the goal of this PR?
Moves bazel rules used for generating documentation into the
vaticle/bazel-distribution repository

## What are the changes implemented in this PR?
* Moves bazel rules & targets for converters of {doxygen, javadoc,
sphinx (python), rustdocs} into bazel-distribution. **Note:** nodejs
typedocs hasn't been migrated

PR chain: typedb/typedb-driver#552 > typedb/typedb-dependencies#491 >
#393
## What is the goal of this PR?
Updates artifact deployment & consumption rules to use cloudsmith
instead of the self-hosted sonatype repository.

## What are the changes implemented in this PR?
* Updates deployment rules & scripts to use Cloudsmith.
* Updates consumption rules to use Cloudsmith instead of nexus.
* Updates documentation relating to repo.vaticle.com
## What is the goal of this PR?
Fixes a bug causing maven deployments to fail

## What are the changes implemented in this PR?
* Passes the ElementTree Element text instead of the element to the
uploader.
## What is the goal of this PR?

We add support for repository-specific prerelease versioning, currently
limited to "rc" (release candidate).

This change ensures the following format:

- `{version}-rc{number}` in maven packages, npm packages, and crates
(following [SemVer 2.0.0 spec](https://semver.org/spec/v2.0.0.html));
- `{version}rc{number}` in pip packages (see [Python Packagin User Guide
:: Version
specifiers](https://packaging.python.org/en/latest/specifications/version-specifiers/#public-version-identifiers))

## What are the changes implemented in this PR?

Drive-by: ensure semver compatibility for snapshot releases in crates
and maven by prepending `0.0.0-` to the git commit SHA.
…398)

## What is the goal of this PR?

Fix regression introduced in #397: prepending `0.0.0-` to the commit SHA
for snapshot assembly broke the validation in the deployment script,
which expects either bare SHA or any string ending with `-SNAPSHOT`. We
now require either a major.minor.patch version with the SHA at the end,
or any string ending with `-SNAPSHOT`.
## What is the goal of this PR?

We add a new common utility rule that allows the user to unzip a zip
archive containing a single file and give that file a new name.
## What is the goal of this PR?

We add the options to exclude files and directories that match glob
patterns from the edited .tar.gz archive.
## What is the goal of this PR?

We fix two issues in artifact deployment rules:
1. The `version_file` argument was ignored in favor of the `version`
environment variable. The behavior is now in line with the rest of
rulesi n this repository.
2. Snapshot version validation was overly strict and only permitted
versions that were exactly SHA1. We now require that a snapshot artifact
version _ends_ in SHA1.
## What is the goal of this PR?
The version is added to the uploaded filename of apt packages when being
deployed. Without this, Cloudsmith's APT fetch ends up corrupted and
downloads the wrong package, when multiple packages share the same file
name across different versions.

## What are the changes implemented in this PR?
* Adds a line in the deployment script to upload `package.deb` as
`package_version.deb` on cloudsmith
## What is the goal of this PR?

We prepare tools for the C# driver release, namely: documentation,
packaging, and distribution.

## What are the changes implemented in this PR?

Added:
Rules for the C# nuget packages generation and distribution. These rules
are based on the rules from [the open source Selenium
repo](https://github.com/SeleniumHQ/selenium/), so thanks to them for
boosting the development by making it available! They are used and
tested in the [typedb-driver](https://github.com/vaticle/typedb-driver/)
project:
* `nuget_pack`: gets a list of C# libraries, native libs files (if
needed), a template nuget project description, a list of files to
include into the package (for example, README or logos), and produces
two files: nupkg (nuget package) and snupkg (symbol package for
debugging).
* `nuget_push`: receives the result of the previous command and pushes
the packages (with their symbols) to the target (snapshot/release) repo.

Updated:
* doxygen configuration, previously used solely for `C++`. Now it's also
convenient for `C#`, so some refactoring and additions happened.
We fixed the build issues with the doc target, that appeared because of
the `cpp` dir renaming in[ the previous
PR](#406), and some
code style in the meantime.
## What is the goal of this PR?

We've upgraded Packer to 1.8.3 and increased the GCP packer image disk
size to 50GB.

## What are the changes implemented in this PR?

As above.

---------

Co-authored-by: Ganeshwara Hananda <[email protected]>
## What is the goal of this PR?
Bumps rules_python to 0.31.0
…and maven assembly rules (#414)

## What is the goal of this PR?

We resolve issue #380 by trimming input `version` values from `VERSION`
files for `maven` and `crate` artifacts assembly rules. It solves the
problem of `VERSION` files being passed as `version_file` to the
respective rules after being formatted to have an additional empty line
in the end, which is a standard convention for files and a common IDE
setting, or just being formatted incorrectly while containing a valid
value.

From now on, `VERSION` files passed into `assemble_maven` and
`assemble_crate` can have any leading and trailing whitespaces.
## What is the goal of this PR?

Dependency declarations in `assemble_apt` (`depends`) are now optional.
This allows for the publishing of APT packages that have no
dependencies.

## What are the changes implemented in this PR?

- Make `--deps` optional in the Python script that powers `assemble_apt`
- Make the `assemble_apt` rule not crash with `depends` unspecified
## What is the goal of this PR?

We update npm_deploy to use the provided path for `npm` directly.

## What are the changes implemented in this PR?

It appears that the `env` `PATH` variable gets ignored by `Shell`, so
the `npm publish` invocation defaults to the system `npm`, which can
lead to unexpected results.
## What is the goal of this PR?

We add `pip` packages version reformatting from our (TypeDB) version
conventions to [the python
conventions](https://packaging.python.org/en/latest/specifications/version-specifiers/#version-specifiers)
for `alpha` and `beta` releases.

## What are the changes implemented in this PR?

In addition to already existing `-rc` -> `rc` reformatting, we add:
* `-rc-` -> `rc`
* `-alpha-` -> `a`
* `-alpha` -> `a`
* `-beta-` -> `b`
* `-beta` -> `b`
To support multiple variants for better reusability.
## Usage and product changes

- We remove the `skipIfSigned` functionality from the `AppleCodeSigner`
- We add verbose logging to `xcrun` calls if it is enabled

## Motivation

We've concluded that it is not the responsibility of a maintainer of an
open-source library to sign their code for MacOS installers, as such we
want to sign these packages ourselves. This may cause us to assume
responsibility for issues in our application caused by these packages;
this seems reasonable.

We have previously encountered issues when releasing `typedb-studio` due
to a package that was signed, but not specifically for MacOS installers,
failing Apple's checks. As such, we want to sign *all* packages captured
by our `deepSignJarsRegex` - not just unsigned ones. This ensures that
all signatures are valid.

However, we still value the `deepSignJarsRegex` to avoid unnecessarily
unpackaging and re-signing every single jar we depend on.

## Implementation

We remove the `skipIfSigned` argument and the functionality gated behind
it.

We also fix an issue where the `verbose` logging flag was not being
correctly propagated to our code signing commands.
## Usage and product changes
Updates  type hints in the brew deployment script to use Dict instead of dict

## Implementation
Updates  type hints in the brew deployment script to use Dict instead of dict
…422)

## Usage and product changes
The pip_parse target which installs pip dependencies for the cloudsmith uploader now accepts a python interpreter.

## Motivation
Make it some kind of hermetic. Avoid breaking based on system python.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants