Skip to content

Commit

Permalink
Merge main into proj/linodego_v2.0 (#675)
Browse files Browse the repository at this point in the history
* Support missing domain-related endpoints for API parity (#620)

* update domains

* nit

* test: Update default test image to reflect the deprecation of Debian 9 support (#623)

* update tests since debian9 support ended

* update tests since debian9 support ended

* Added support for updated Reserved IP behavior to existing resources (instance, network_ips) (#610)

* added reserved field to InstanceIP struct for IP Reservation response

* Reserved IP resource for handling IP reservation API's

* Added integration test covering multiple scenarios of reserving IP addresses

* The fixture files for different scenarios of IP Reservation - EndToEnd, InsuffecientPermission, ReserveIP, GetReservedIP, getReservedIPs, DeleteReservedIPs

* Updated the fixture files with responses after the user has permissions to reserve IP

* Changed the error message to relay invalid token for insufficient permission tests

* Updated the error message for Insufficient Permission tests to display appropriate error message along with code

* Made changes to Delete, List, Get, Reserve, EndtoEnd fixtures to record user with adequate permissions

* changed variable name from id to address to keep it consistent with other functions

* Made changes to variable names, achanged logf statements to errorf and fatalf wherever necessary

* changed fixture file names to improve consistency, re-recorded fixtures with latest error messages

* removed debugging fmt statement

* Made changes to reserve IP addresses before listing them using fitler feature. Removed for loop to reserve IPs till limit is reached.

* uncommenting unaffected tests

* Made changes to error messages, added mandatory checks and re-recorded fixtures to reflect new error messages

* Added new middleware system (#571)

* build(deps): bump golang.org/x/oauth2 from 0.22.0 to 0.23.0 (#574)

* build(deps): bump golang.org/x/oauth2 from 0.22.0 to 0.23.0

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.22.0 to 0.23.0.
- [Commits](golang/oauth2@v0.22.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Ran make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ezilber-akamai <ezilber@akamai.com>

* build(deps): bump golang.org/x/text from 0.17.0 to 0.18.0 (#575)

* build(deps): bump golang.org/x/text from 0.17.0 to 0.18.0

Bumps [golang.org/x/text](https://github.com/golang/text) from 0.17.0 to 0.18.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.17.0...v0.18.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ye Chen <yechen@akamai.com>

* new: Add support LKE, Volume, NodeBalancer, and network transfer pricing endpoints  (#573)

* Add LKE types endpoints

* Support base struct; add NB types endpoints

* Add volume types

* Add network transfer prices

* Add price and region price structs

* Revert IPv6 fixtures

* Add missing fixtures

* Add test case for ip limit exceed

* add cleanup for TestReservedIPAddresses_ExceedLimit

* added interactions to fixture and changed the ecpected error message

* Added note indicating feature is currently not available to all users

* added support for creating a linode with reserved IP address along with associated tests

* Added support for adding additional reserved IP to linodes along with the corresponding tests and fixtures

* added ipv4 field in the InstanceCreateOptions struct

* moved InstanceReservedIPOptions and the method to AddReservedIPToInsatance to instance_ips.go

* Split the variants tests of createInstanceWithReservedIP into individual test funcitons and removed debugging log statements

* Re-recorded fixtures after splitting variants test into individual test functions, made changes to error messages

* added teardown funcitnality to handle accidental instance creations

* removed unnecessary defer keyword from test functions

* moved tests related to creating a linode with reserved IP and adding additonal reserved IPs to a linode to a separate file

* Removing the sensitive token from the previous commit

* made changes to maintain consistency and improve readability

* added tests for deletion of linode created with reserved IP address

* added test for verifying the status of the reserved field when listing addresses of a linode

* Added support for existing resources to support reserved IP feature and corresponding tests

* Updated fixtures with required interactions for reserved IP feature and recorded new ones for allocating and assigning reserved IPs

* changed the name of the test function to keeop it more succinct

* setting reserved as an optional field

* Made change to make reserved a part of the update IP address functionality

* Removed test for exceeding IP MAX and changed the type of the reserved field in the IPAddressUpdateOptions struct

* Changed struct name from LinodeReserveIPOptions to AllocateReserveIPOptions

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Erik Zilber <ezilber@akamai.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ye Chen <yechen@akamai.com>
Co-authored-by: Lena Garber <114949949+lgarber-akamai@users.noreply.github.com>
Co-authored-by: ykim-1 <ykim@akamai.com>
Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com>

* build(deps): bump github.com/go-resty/resty/v2 from 2.16.1 to 2.16.2 (#629)

* build(deps): bump github.com/go-resty/resty/v2 from 2.16.1 to 2.16.2

Bumps [github.com/go-resty/resty/v2](https://github.com/go-resty/resty) from 2.16.1 to 2.16.2.
- [Release notes](https://github.com/go-resty/resty/releases)
- [Commits](go-resty/resty@v2.16.1...v2.16.2)

---
updated-dependencies:
- dependency-name: github.com/go-resty/resty/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>
Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com>
Co-authored-by: Jacob Riddle <87780794+jriddle-linode@users.noreply.github.com>

* build(deps): bump slackapi/slack-github-action from 1.27.0 to 2.0.0 (#619)

* build(deps): bump slackapi/slack-github-action from 1.27.0 to 2.0.0

Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 1.27.0 to 2.0.0.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](slackapi/slack-github-action@v1.27.0...v2.0.0)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix payloads

* fix smoke test

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jacob Riddle <87780794+jriddle-linode@users.noreply.github.com>
Co-authored-by: ykim-1 <ykim@akamai.com>
Co-authored-by: Youjung Kim <126618609+ykim-akamai@users.noreply.github.com>

* doc: Remove Image Services Gen2 LA notice (#628)

* remove la

* oops

* build(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#631)

* build(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>
Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com>

* build(deps): bump golang.org/x/oauth2 from 0.23.0 to 0.24.0 (#608)

* build(deps): bump golang.org/x/oauth2 from 0.23.0 to 0.24.0

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.23.0 to 0.24.0.
- [Commits](golang/oauth2@v0.23.0...v0.24.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>

* build(deps): bump golang.org/x/net from 0.30.0 to 0.31.0 (#614)

* build(deps): bump golang.org/x/net from 0.30.0 to 0.31.0

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.30.0 to 0.31.0.
- [Commits](golang/net@v0.30.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>

* doc: add info for kubeconfig as base64 (#607)

Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com>

* Added support for missing User-related fields (#622)

* Added support for missing user fields

* Reran GetMonthlyTransfer fixture

* Add hardware type and linode label fields to volume struct (#604)

* Add hardware type and linode label fields to volume struct

* Update tests

* build(deps): bump golang.org/x/text from 0.20.0 to 0.21.0 (#638)

* build(deps): bump golang.org/x/text from 0.20.0 to 0.21.0

Bumps [golang.org/x/text](https://github.com/golang/text) from 0.20.0 to 0.21.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.20.0...v0.21.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ye Chen <yechen@akamai.com>

* build(deps): bump golang.org/x/net from 0.31.0 to 0.32.0 (#637)

* build(deps): bump golang.org/x/net from 0.31.0 to 0.32.0

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.31.0 to 0.32.0.
- [Commits](golang/net@v0.31.0...v0.32.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>

* Updated migrations field to be pointer (#639)

* Added support for missing Service Transfer related endpoints (#632)

* Added support for service transfers

* Fix lint

* Reran GetMonthlyTransfer fixture

* Added support for missing Obj-related endpoints (#634)

* Added missing obj related endpoints

* Fix lint

* Added unit test

* Fixed time format to match API response

* Reran GetMonthlyTransfer fixture

* Addressed PR comments

* Ran make tidy

* add account test coverage (#636)

* new: Introduce UpdateIPAddressV2; deprecate UpdateIPAddress (#641)

* Introduce UpdateIPAddressV2; deprecate UpdateIPAddress

* Update fixtures

* Add advanced CodeQL and dependencies review workflows (#640)

* NewClient panics if http.client is nil and LINODE_CA is set (#635)

I tried a new linodego with a custom CA and a nil HTTP client and encountered a panic.

Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com>

* build(deps): bump golang.org/x/net from 0.32.0 to 0.33.0 (#646)

* build(deps): bump golang.org/x/net from 0.32.0 to 0.33.0

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.32.0 to 0.33.0.
- [Commits](golang/net@v0.32.0...v0.33.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>
Co-authored-by: Erik Zilber <ezilber@akamai.com>

* Support DBaaS V2.0 (#633)

* Implemented changes for DBaaS v2.0 and added deprecation notices

* Added fork field to ManagedDB struct

* Addressed PR comments

* Addressed more PR comments

* build(deps): bump golang.org/x/net from 0.33.0 to 0.34.0 (#650)

* build(deps): bump golang.org/x/net from 0.33.0 to 0.34.0

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.33.0 to 0.34.0.
- [Commits](golang/net@v0.33.0...v0.34.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

* Update the fixture

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lena Garber <lgarber@akamai.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>

* build(deps): bump golang.org/x/oauth2 from 0.24.0 to 0.25.0 (#648)

* build(deps): bump golang.org/x/oauth2 from 0.24.0 to 0.25.0

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.24.0 to 0.25.0.
- [Commits](golang/oauth2@v0.24.0...v0.25.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>

* Remove unnecessary permissions (#643)

* Add unit test coverage for Type, Vlan and Tag related methods/functions (#647)

* types_unit_tests

* vlan_tests

* unit_test_tag

* address_PR_comments

* fix

* fix lint

* VPU Support (#645)

## 📝 Description

**What does this PR do and why is this change necessary?**

Adds `AcceleratedDevices` to `Instnace.Stats` and `GET linode/types`
Also adds `NETINT Quadra T1U` Capability enum.

## ✔️ How to Test

**How do I run the relevant unit/integration tests?**

```
make fixtures ARGS="-run TestInstance_withVPU"
```

* Support `tier` field for LKE-E (#651)

* Support tier field for LKE-E

* Reran fixture for failing test

* build(deps): bump github.com/go-resty/resty/v2 from 2.16.2 to 2.16.3 (#653)

* build(deps): bump github.com/go-resty/resty/v2 from 2.16.2 to 2.16.3

Bumps [github.com/go-resty/resty/v2](https://github.com/go-resty/resty) from 2.16.2 to 2.16.3.
- [Release notes](https://github.com/go-resty/resty/releases)
- [Commits](go-resty/resty@v2.16.2...v2.16.3)

---
updated-dependencies:
- dependency-name: github.com/go-resty/resty/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ye Chen <yechen@akamai.com>

* Add support for object storage services gen2 (#649)

* rfc: doPOSTRequestNoResponseBody (#654)

Co-authored-by: Ye Chen <127243817+yec-akamai@users.noreply.github.com>

* Add unit test coverage for Stackscripts, Database and Region related methods/functions  (#652)

* unit_tests

* add_test

* database_tests

* test/workflow: Update make test commands and related workflows (#657)

* update make test commands and workflows

* add TEST_ARGS to unit and integration test commands

* roll back boto3 version for test report upload

* Added missign db-related fields (#659)

* remove unnecessary TEST_ARGS (#664)

* build(deps): bump github.com/go-resty/resty/v2 from 2.16.3 to 2.16.5 (#662)

* build(deps): bump github.com/go-resty/resty/v2 from 2.16.3 to 2.16.5

Bumps [github.com/go-resty/resty/v2](https://github.com/go-resty/resty) from 2.16.3 to 2.16.5.
- [Release notes](https://github.com/go-resty/resty/releases)
- [Commits](go-resty/resty@v2.16.3...v2.16.5)

---
updated-dependencies:
- dependency-name: github.com/go-resty/resty/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>

* Checking for DefaultTransport in NewClient (#663)

* new tests

* do not compare against defaulttransport

* Add unit test coverage for Volume,Volume types and Longview  related methods/functions (#661)

* unit_tests

* add_test

* database_tests

* volume_unittests

* fix

* fix

* longview_tests

* fix int_test

* Reformatted endpoint functions to simplify them (#668)

* add domain and domain record unit test coverage (#656)

* build(deps): bump crazy-max/ghaction-github-labeler from 5.1.0 to 5.2.0 (#667)

Bumps [crazy-max/ghaction-github-labeler](https://github.com/crazy-max/ghaction-github-labeler) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/crazy-max/ghaction-github-labeler/releases)
- [Commits](crazy-max/ghaction-github-labeler@b54af0c...31674a3)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-github-labeler
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lena Garber <114949949+lgarber-akamai@users.noreply.github.com>
Co-authored-by: Jacob Riddle <87780794+jriddle-linode@users.noreply.github.com>

* build(deps): bump golang.org/x/oauth2 from 0.25.0 to 0.26.0 (#672)

* build(deps): bump golang.org/x/oauth2 from 0.25.0 to 0.26.0

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.25.0 to 0.26.0.
- [Commits](golang/oauth2@v0.25.0...v0.26.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lena Garber <lgarber@akamai.com>
Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com>

* remove deprecated Cluster variable in tests (#666)

* Allow to enable LKE APL (#665)

* apl enable

* lint

* nit

* Ran make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Ye Chen <127243817+yec-akamai@users.noreply.github.com>
Co-authored-by: Youjung Kim <126618609+ykim-akamai@users.noreply.github.com>
Co-authored-by: AniJ98 <ajagadis@akamai.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ye Chen <yechen@akamai.com>
Co-authored-by: Lena Garber <114949949+lgarber-akamai@users.noreply.github.com>
Co-authored-by: ykim-1 <ykim@akamai.com>
Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>
Co-authored-by: Jacob Riddle <87780794+jriddle-linode@users.noreply.github.com>
Co-authored-by: Guilhem Lettron <guilhem@barpilot.io>
Co-authored-by: Ondrej Kokes <ondrej.kokes@gmail.com>
Co-authored-by: Lena Garber <lgarber@akamai.com>
Co-authored-by: Vinay <143587840+vshanthe@users.noreply.github.com>
  • Loading branch information
15 people authored Feb 10, 2025
1 parent b4016dd commit 8694525
Show file tree
Hide file tree
Showing 284 changed files with 24,786 additions and 57,015 deletions.
89 changes: 30 additions & 59 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
python-version: '3.x'

- name: Install Python deps
run: pip3 install requests wheel boto3
run: pip3 install requests wheel boto3==1.35.99

- name: Install go-junit-report
run: go install github.com/jstemmer/go-junit-report/v2@latest
Expand Down Expand Up @@ -80,66 +80,37 @@ jobs:

notify-slack:
runs-on: ubuntu-latest
needs: [test]
if: ${{ (success() || failure()) && github.ref == 'refs/heads/main' && github.event_name == 'push' && github.repository == 'linode/linodego' }} # Run even if integration tests fail and only on main repository
needs: [ test ]
if: ${{ (success() || failure()) && github.ref == 'refs/heads/main' && github.event_name == 'push' && github.repository == 'linode/linodego' }}

steps:
- name: Notify Slack
uses: slackapi/slack-github-action@v1.27.0
uses: slackapi/slack-github-action@v2.0.0
with:
channel-id: ${{ secrets.SLACK_CHANNEL_ID }}
method: chat.postMessage
token: ${{ secrets.SLACK_BOT_TOKEN }}
payload: |
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": ":rocket: *${{ github.workflow }} Completed in: ${{ github.repository }}* :white_check_mark:"
}
},
{
"type": "divider"
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Build Result:*\n${{ needs.test.result == 'success' && ':large_green_circle: Build Passed' || ':red_circle: Build Failed' }}"
},
{
"type": "mrkdwn",
"text": "*Branch:*\n`${{ github.ref_name }}`"
}
]
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Commit Hash:*\n<${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>"
},
{
"type": "mrkdwn",
"text": "*Run URL:*\n<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Run Details>"
}
]
},
{
"type": "divider"
},
{
"type": "context",
"elements": [
{
"type": "mrkdwn",
"text": "Triggered by: :bust_in_silhouette: `${{ github.actor }}`"
}
]
}
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
channel: ${{ secrets.SLACK_CHANNEL_ID }}
blocks:
- type: section
text:
type: mrkdwn
text: ":rocket: *${{ github.workflow }} Completed in: ${{ github.repository }}* :white_check_mark:"
- type: divider
- type: section
fields:
- type: mrkdwn
text: "*Build Result:*\n${{ needs.test.result == 'success' && ':large_green_circle: Build Passed' || ':red_circle: Build Failed' }}"
- type: mrkdwn
text: "*Branch:*\n`${{ github.ref_name }}`"
- type: section
fields:
- type: mrkdwn
text: "*Commit Hash:*\n<${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>"
- type: mrkdwn
text: "*Run URL:*\n<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Run Details>"
- type: divider
- type: context
elements:
- type: mrkdwn
text: "Triggered by: :bust_in_silhouette: `${{ github.actor }}`"
38 changes: 38 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: "CodeQL Advanced"

on:
push:
branches: [ "dev", "main", "proj/*" ]
pull_request:
branches: [ "dev", "main", "proj/*" ]
schedule:
- cron: '39 0 * * 6'

jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
permissions:
security-events: write

strategy:
fail-fast: false
matrix:
include:
- language: go
build-mode: autobuild
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
queries: security-and-quality

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
2 changes: 1 addition & 1 deletion .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
uses: actions/checkout@v4
-
name: Run Labeler
uses: crazy-max/ghaction-github-labeler@b54af0c25861143e7c8813d7cbbf46d2c341680c
uses: crazy-max/ghaction-github-labeler@31674a3852a9074f2086abcf1c53839d466a47e7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
yaml-file: .github/labels.yml
Expand Down
85 changes: 28 additions & 57 deletions .github/workflows/nightly_smoke_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,67 +32,38 @@ jobs:
- name: Run smoke tests
id: smoke_tests
run: |
make smoketest
make test-smoke
env:
LINODE_TOKEN: ${{ secrets.DX_LINODE_TOKEN }}

- name: Notify Slack
if: (success() || failure()) && github.repository == 'linode/linodego'
uses: slackapi/slack-github-action@v1.27.0
uses: slackapi/slack-github-action@v2.0.0
with:
channel-id: ${{ secrets.SLACK_CHANNEL_ID }}
method: chat.postMessage
token: ${{ secrets.SLACK_BOT_TOKEN }}
payload: |
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": ":rocket: *${{ github.workflow }} Completed in: ${{ github.repository }}* :white_check_mark:"
}
},
{
"type": "divider"
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Build Result:*\n${{ steps.smoke_tests.outcome == 'success' && ':large_green_circle: Build Passed' || ':red_circle: Build Failed' }}"
},
{
"type": "mrkdwn",
"text": "*Branch:*\n`${{ github.ref_name }}`"
}
]
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Commit Hash:*\n<${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>"
},
{
"type": "mrkdwn",
"text": "*Run URL:*\n<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Run Details>"
}
]
},
{
"type": "divider"
},
{
"type": "context",
"elements": [
{
"type": "mrkdwn",
"text": "Triggered by: :bust_in_silhouette: `${{ github.actor }}`"
}
]
}
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
channel: ${{ secrets.SLACK_CHANNEL_ID }}
blocks:
- type: section
text:
type: mrkdwn
text: ":rocket: *${{ github.workflow }} Completed in: ${{ github.repository }}* :white_check_mark:"
- type: divider
- type: section
fields:
- type: mrkdwn
text: "*Build Result:*\n${{ steps.smoke_tests.outcome == 'success' && ':large_green_circle: Build Passed' || ':red_circle: Build Failed' }}"
- type: mrkdwn
text: "*Branch:*\n`${{ github.ref_name }}`"
- type: section
fields:
- type: mrkdwn
text: "*Commit Hash:*\n<${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>"
- type: mrkdwn
text: "*Run URL:*\n<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Run Details>"
- type: divider
- type: context
elements:
- type: mrkdwn
text: "Triggered by: :bust_in_silhouette: `${{ github.actor }}`"
2 changes: 1 addition & 1 deletion .github/workflows/release-cross-repo-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,6 @@ jobs:
- name: run tests
run: |
make int-test
make test-int
env:
LINODE_TOKEN: ${{ secrets.DX_LINODE_TOKEN }}
25 changes: 9 additions & 16 deletions .github/workflows/release-notify-slack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Notify Slack - Main Message
id: main_message
uses: slackapi/slack-github-action@v1.27.0
uses: slackapi/slack-github-action@v2.0.0
with:
channel-id: ${{ secrets.DEV_DX_SLACK_CHANNEL_ID }}
method: chat.postMessage
token: ${{ secrets.SLACK_BOT_TOKEN }}
payload: |
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*New Release Published: _linodego_ <${{ github.event.release.html_url }}|${{ github.event.release.tag_name }}> is now live!* :tada:"
}
}
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
channel: ${{ secrets.DEV_DX_SLACK_CHANNEL_ID }}
blocks:
- type: section
text:
type: mrkdwn
text: "*New Release Published: _linodego_ <${{ github.event.release.html_url }}|${{ github.event.release.tag_name }}> is now live!* :tada:"
Original file line number Diff line number Diff line change
@@ -1,8 +1,21 @@
name: Gosec Scan
name: Security Checks for Pull Requests
on:
pull_request: null

jobs:
dependency-review:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: 'Checkout repository'
uses: actions/checkout@v4
- name: 'Dependency Review'
uses: actions/dependency-review-action@v4
with:
comment-summary-in-pr: on-failure

gosec_scan:
runs-on: ubuntu-latest
env:
Expand Down
20 changes: 10 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@ PACKAGES := $(shell go list ./... | grep -v integration)

SKIP_LINT ?= 0

.PHONY: build vet test refresh-fixtures clean clean-cov clean-fixtures lint run_fixtures sanitize fixtures godoc testint testunit testcov tidy
.PHONY: build vet test refresh-fixtures clean clean-cov clean-fixtures lint run_fixtures sanitize fixtures godoc test-int test-unit test-smoke testcov tidy

test: build lint testunit testint
test: build lint test-unit test-int

citest: lint test

testunit:
go test -v $(PACKAGES) $(ARGS)
cd test && make testunit
test-unit:
go test -v $(PACKAGES) $(TEST_ARGS)
cd test && make test-unit

testint:
cd test && make testint
test-int:
cd test && make test-int

testcov-func:
@go test -v -coverprofile="coverage.txt" . > /dev/null 2>&1
Expand All @@ -39,8 +39,8 @@ testcov-html:
@go test -v -coverprofile="coverage.txt" . > /dev/null 2>&1
@go tool cover -html coverage.txt

smoketest:
cd test && make smoketest
test-smoke:
cd test && make test-smoke

build: vet lint
go build ./...
Expand Down Expand Up @@ -77,7 +77,7 @@ run_fixtures:
LINODE_API_VERSION="v4beta" \
LINODE_URL="$(LINODE_URL)" \
GO111MODULE="on" \
go test --tags $(TEST_TAGS) -timeout=$(TEST_TIMEOUT) -v $(ARGS)
go test --tags $(TEST_TAGS) -timeout=$(TEST_TIMEOUT) -v $(TEST_ARGS)

sanitize:
@echo "* Sanitizing fixtures"
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,15 +168,15 @@ When performing a `POST` or `PUT` request, multiple field related errors will be

## Tests

Run `make testunit` to run the unit tests.
Run `make test-unit` to run the unit tests.

Run `make testint` to run the integration tests. The integration tests use fixtures.
Run `make test-int` to run the integration tests. The integration tests use fixtures.

To update the test fixtures, run `make fixtures`. This will record the API responses into the `fixtures/` directory.
Be careful about committing any sensitive account details. An attempt has been made to sanitize IP addresses and
dates, but no automated sanitization will be performed against `fixtures/*Account*.yaml`, for example.

To prevent disrupting unaffected fixtures, target fixture generation like so: `make ARGS="-run TestListVolumes" fixtures`.
To prevent disrupting unaffected fixtures, target fixture generation like so: `make TEST_ARGS="-run TestListVolumes" fixtures`.

## Discussion / Help

Expand Down
3 changes: 1 addition & 2 deletions account_agreements.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,5 @@ func (c *Client) GetAccountAgreements(ctx context.Context) (*AccountAgreements,

// AcknowledgeAccountAgreements acknowledges account agreements for the Account
func (c *Client) AcknowledgeAccountAgreements(ctx context.Context, opts AccountAgreementsUpdateOptions) error {
_, err := doPOSTRequest[AccountAgreements](ctx, c, "account/agreements", opts)
return err
return doPOSTRequestNoResponseBody(ctx, c, "account/agreements", opts)
}
Loading

0 comments on commit 8694525

Please sign in to comment.